Man charged in stabbing at Portsmouth Walmart