Currently, lock of uart in bhyve is placed in frontend. There are some problems about it:
- If every frontend should has a lock, why not move it inside backend as they all have same uart_softc.
- If backend needs to modify the information of uart after initialize, it will be impossible as backend cannot use lock. For example, if we want implement a telnet support for uart in backend, It should wait for connection when initialize. After some remote process connect it, it needs to modify rfd and wfd in backend.
So I decide to move it to backend.