Shuo A Liu
9c910bae44
hv: dm: Use new I/O request data structures
...
struct vhm_request -> struct acrn_io_request
union vhm_request_buffer -> struct acrn_io_request_buffer
struct pio_request -> struct acrn_pio_request
struct mmio_request -> struct acrn_mmio_request
struct ioreq_notify -> struct acrn_ioreq_notify
VHM_REQ_PIO_INVAL -> IOREQ_PIO_INVAL
VHM_REQ_MMIO_INVAL -> IOREQ_MMIO_INVAL
REQ_PORTIO -> ACRN_IOREQ_TYPE_PORTIO
REQ_MMIO -> ACRN_IOREQ_TYPE_MMIO
REQ_PCICFG -> ACRN_IOREQ_TYPE_PCICFG
REQ_WP -> ACRN_IOREQ_TYPE_WP
REQUEST_READ -> ACRN_IOREQ_DIR_READ
REQUEST_WRITE -> ACRN_IOREQ_DIR_WRITE
REQ_STATE_PROCESSING -> ACRN_IOREQ_STATE_PROCESSING
REQ_STATE_PENDING -> ACRN_IOREQ_STATE_PENDING
REQ_STATE_COMPLETE -> ACRN_IOREQ_STATE_COMPLETE
REQ_STATE_FREE -> ACRN_IOREQ_STATE_FREE
IC_CREATE_IOREQ_CLIENT -> ACRN_IOCTL_CREATE_IOREQ_CLIENT
IC_DESTROY_IOREQ_CLIENT -> ACRN_IOCTL_DESTROY_IOREQ_CLIENT
IC_ATTACH_IOREQ_CLIENT -> ACRN_IOCTL_ATTACH_IOREQ_CLIENT
IC_NOTIFY_REQUEST_FINISH -> ACRN_IOCTL_NOTIFY_REQUEST_FINISH
IC_CLEAR_VM_IOREQ -> ACRN_IOCTL_CLEAR_VM_IOREQ
HYPERVISOR_CALLBACK_VHM_VECTOR -> HYPERVISOR_CALLBACK_HSM_VECTOR
arch_fire_vhm_interrupt() -> arch_fire_hsm_interrupt()
get_vhm_notification_vector() -> get_hsm_notification_vector()
set_vhm_notification_vector() -> set_hsm_notification_vector()
acrn_vhm_notification_vector -> acrn_hsm_notification_vector
get_vhm_req_state() -> get_io_req_state()
set_vhm_req_state() -> set_io_req_state()
Below structures have slight difference with former ones.
struct acrn_ioreq_notify
strcut acrn_io_request
Tracked-On: #6282
Signed-off-by: Shuo A Liu <shuo.a.liu@intel.com >
2021-07-15 11:53:54 +08:00
Mingqiang Chi
5375a1613b
dm:use acrn-dm logger function instread of printf
...
Use acrn-dm logger function instread of printf,
this helps the stability testing log capture.
Tracked-On: #4098
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com >
Reviewed-by: Cao Minggui <minggui.cao@intel.com >
Reviewed-by: Yin Fengwei <fengwei.yin@intel.com >
2019-11-14 15:34:04 +08:00
Yonghua Huang
dedf9befa6
dm: refine 'assert' in inout.c and post.c
...
- 'assert' cleanup to avoid possible software vulnerabilities.
Tracked-On: #3252
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com >
Reviewed-by: Shuo A Liu <shuo.a.liu@intel.com >
2019-06-20 08:55:44 +08:00
Peter Fang
4c38ff00c6
dm: completely remove enable_bar()/disable_bar() functions
...
Following up on d648df766c , surgically
remove all the functions related to enable_bar()/disable_bar() that got
introduced in 8787b65fde .
Tracked-On: #2902
Signed-off-by: Peter Fang <peter.fang@intel.com >
Reviewed-by: Shuo A Liu <shuo.a.liu@intel.com >
2019-04-22 15:18:21 +08:00
Yin Fengwei
8787b65fde
dm: fix the issue when guest tries to disable memory range access
...
According to PCI spec 3.0 section 6.2.2 "Device Control", guest
could write the command register to control device response to
io/mem access.
The origial code register/unregister the memory range which is
not suitable because it can't handle the sequence:
1. disble the device response to specific memory range
2. reboot guest (DM will try to free the memory range which
was freed in step 1 already)
Tracked-On: #1277
Signed-off-by: Yin Fengwei <fengwei.yin@intel.com >
Acked-by: Yu Wang <yu1.wang@intel.com >
2018-10-08 12:57:00 +08:00
Yonghua Huang
61cd6946d0
DM: Remove 'strictio' from UOS bootargs' options
...
- UOS will boot fail if 'strictio' is enabled ('-e' option), in this
case (with '-e'), device model will block all PIO accesses whose
handlers were not registered, after that, device model program will
exit, hence UOS boot fail.
actually, such kind of accesses exist, e.g. UOS would program
PIT registers (port address: 0x43) if hpet is disabled.
- For debug, we can trap unexpected PIO access in 'default_inout()'
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com >
2018-07-02 12:33:52 +08:00
Zide Chen
df4ab92e81
DM: cleanup for header inclusions
...
used https://gitlab.com/esr/deheader to detect and remove unnecessary
header file inclusions
Signed-off-by: Zide Chen <zide.chen@intel.com >
2018-06-07 14:35:30 +08:00
Yonghua Huang
fc93c649d5
DM: validate port range explicitly in inout.c
...
- check the port address range explicitly
to avoid buffer overflow.
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com >
2018-05-25 09:46:15 +08:00
Yonghua Huang
9e61accbed
DM: add spanning devices check for i/o access
...
- i/o access whose handler is not registered should
not be allowed.
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com >
2018-05-18 15:01:35 +08:00
Anthony Xu
bd31b1c53e
initial import
...
internal commit: 0ab1ea615e5cfbb0687a9d593a86a7b774386076
Signed-off-by: Anthony Xu <anthony.xu@intel.com >
2018-05-11 14:44:28 +08:00