In particular, we want to disallow setting breakpoints on kernel
addresses from userspace. The control register fields are validated or
ignored as appropriate.
I think this should be a >=. Contrary to the name, VM_MAXUSER_ADDRESS is not a valid user address.
I guess it's ok to silently round down the address to the nearest half word boundary?
The dbg_enable_count value is left non-zero in error paths. I guess that's ok so long as we don't set DBGMON_ENABLED.