acrn-hypervisor/hypervisor/debug
Zide Chen a6fe51debd hv: deny access to HV owned legacy PIO UART from SOS
We need to deny accesses from SOS to the HV owned UART device, otherwise
SOS could have direct access to this physical device and mess up the HV
console.

If ACRN debug UART is configured as PIO based, For example,
CONFIG_SERIAL_PIO_BASE is generated from acrn-config tool, or the UART
config is overwritten by hypervisor parameter "uart=port@<port address>",
it could run into problem if ACRN doesn't emulate this UART PIO port
to SOS. For example:

- none of the ACRN emulated vUART devices has same PIO port with the
  port of the debug UART device.
- ACRN emulates PCI vUART for SOS (configure "console_vuart" with
  PCI_VUART in the scenario configuration)

This patch fixes the above issue by masking PIO accesses from SOS.
deny_hv_owned_devices() is moved after setup_io_bitmap() where
vm->arch_vm.io_bitmap is initialized.

Commit 50d852561 ("HV: deny HV owned PCI bar access from SOS") handles
the case that ACRN debug UART is configured as a PCI device. e.g.,
hypervisor parameter "uart=bdf@<BDF value>" is appended.

If the hypervisor debug UART is MMIO based, need to configured it as
a PCI type device, so that it can be hidden from SOS.

Tracked-On: #5923
Signed-off-by: Zide Chen <zide.chen@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2021-06-09 10:07:28 +08:00
..
console.c HV: modularization: rename mi_cmdline to cmdline in acrn boot info 2021-06-04 16:29:33 +08:00
dbg_cmd.c doc: update BDF information for 'uart=' hypervisor parameter 2021-03-23 13:54:10 -07:00
dump.c hv: cache: wrap common APIs 2021-05-14 09:18:00 +08:00
hypercall.c hv: hypercalls: refactor permission-checking and dispatching logic 2021-05-12 13:43:41 +08:00
logmsg.c hv/mod_timer: split tsc handling code from timer. 2021-05-18 16:43:28 +08:00
Makefile HV: makefile: to avoid duplicated build libs 2020-05-21 15:12:21 +08:00
npk_log.c hv: paging: rename ppt_set/clear_ATTR to set_paging_ATTR 2021-05-14 09:18:00 +08:00
printf.c hv:cleanup header files for debug folder 2019-02-27 11:12:48 +08:00
profiling.c hv/mod_timer: split tsc handling code from timer. 2021-05-18 16:43:28 +08:00
sbuf.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
shell_priv.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
shell.c hv: some coding style fixes 2021-05-12 16:50:34 +08:00
string.c hv:cleanup header files for debug folder 2019-02-27 11:12:48 +08:00
trace.c hv/mod_timer: split tsc handling code from timer. 2021-05-18 16:43:28 +08:00
uart16550.c hv: deny access to HV owned legacy PIO UART from SOS 2021-06-09 10:07:28 +08:00