They're now basically the same. Consolidate it.
Signed-off-by: Ralf Ramsauer <[email protected]>
---
hypervisor/arch/x86/include/asm/vcpu.h | 2 --
hypervisor/arch/x86/svm.c | 7 -------
hypervisor/arch/x86/vcpu.c | 13 ++++++++++---
hypervisor/arch/x86/vmx.c | 7 -------
4 files changed, 10 insertions(+), 19 deletions(-)
diff --git a/hypervisor/arch/x86/include/asm/vcpu.h
b/hypervisor/arch/x86/include/asm/vcpu.h
index 24872f55..cae5b554 100644
--- a/hypervisor/arch/x86/include/asm/vcpu.h
+++ b/hypervisor/arch/x86/include/asm/vcpu.h
@@ -88,8 +88,6 @@ const u8 *vcpu_get_inst_bytes(const struct
guest_paging_structures *pg_structs,
void vcpu_skip_emulated_instruction(unsigned int inst_len);
-void vcpu_vendor_get_cell_io_bitmap(struct cell *cell,
- struct vcpu_io_bitmap *out);
unsigned int vcpu_vendor_get_io_bitmap_pages(void);
#define VCPU_CS_DPL_MASK BIT_MASK(6, 5)
diff --git a/hypervisor/arch/x86/svm.c b/hypervisor/arch/x86/svm.c
index f2ea313e..e1000447 100644
--- a/hypervisor/arch/x86/svm.c
+++ b/hypervisor/arch/x86/svm.c
@@ -1008,13 +1008,6 @@ const u8 *vcpu_get_inst_bytes(const struct
guest_paging_structures *pg_structs,
}
}
-void vcpu_vendor_get_cell_io_bitmap(struct cell *cell,
- struct vcpu_io_bitmap *iobm)
-{
- iobm->data = cell->arch.io_bitmap;
- iobm->size = IOPM_PAGES * PAGE_SIZE;
-}
-
unsigned int vcpu_vendor_get_io_bitmap_pages(void)
{
return IOPM_PAGES;
diff --git a/hypervisor/arch/x86/vcpu.c b/hypervisor/arch/x86/vcpu.c
index 4c074669..cf8ff04c 100644
--- a/hypervisor/arch/x86/vcpu.c
+++ b/hypervisor/arch/x86/vcpu.c
@@ -76,6 +76,13 @@ out_err:
return NULL;
}
+static inline void vcpu_get_cell_io_bitmap(struct cell *cell,
+ struct vcpu_io_bitmap *iobm)
+{
+ iobm->data = cell->arch.io_bitmap;
+ iobm->size = vcpu_vendor_get_io_bitmap_pages() * PAGE_SIZE;
+}
+
int vcpu_cell_init(struct cell *cell)
{
const unsigned int io_bitmap_pages = vcpu_vendor_get_io_bitmap_pages();
@@ -97,7 +104,7 @@ int vcpu_cell_init(struct cell *cell)
return err;
}
- vcpu_vendor_get_cell_io_bitmap(cell, &cell_iobm);
+ vcpu_get_cell_io_bitmap(cell, &cell_iobm);
/* initialize io bitmap to trap all accesses */
memset(cell_iobm.data, -1, cell_iobm.size);
@@ -115,7 +122,7 @@ int vcpu_cell_init(struct cell *cell)
* Shrink PIO access of root cell corresponding to new cell's
* access rights.
*/
- vcpu_vendor_get_cell_io_bitmap(&root_cell, &root_cell_iobm);
+ vcpu_get_cell_io_bitmap(&root_cell, &root_cell_iobm);
pio_bitmap = jailhouse_cell_pio_bitmap(cell->config);
for (b = root_cell_iobm.data; pio_bitmap_size > 0;
b++, pio_bitmap++, pio_bitmap_size--)
@@ -143,7 +150,7 @@ void vcpu_cell_exit(struct cell *cell)
struct vcpu_io_bitmap root_cell_iobm;
u8 *b;
- vcpu_vendor_get_cell_io_bitmap(&root_cell, &root_cell_iobm);
+ vcpu_get_cell_io_bitmap(&root_cell, &root_cell_iobm);
if (root_cell.config->pio_bitmap_size < pio_bitmap_size)
pio_bitmap_size = root_cell.config->pio_bitmap_size;
diff --git a/hypervisor/arch/x86/vmx.c b/hypervisor/arch/x86/vmx.c
index 8552cabd..2f46b7e9 100644
--- a/hypervisor/arch/x86/vmx.c
+++ b/hypervisor/arch/x86/vmx.c
@@ -1220,13 +1220,6 @@ void vmx_entry_failure(void)
panic_stop();
}
-void vcpu_vendor_get_cell_io_bitmap(struct cell *cell,
- struct vcpu_io_bitmap *iobm)
-{
- iobm->data = cell->arch.io_bitmap;
- iobm->size = PIO_BITMAP_PAGES * PAGE_SIZE;
-}
-
unsigned int vcpu_vendor_get_io_bitmap_pages(void)
{
return PIO_BITMAP_PAGES;
--
2.22.0
--
You received this message because you are subscribed to the Google Groups
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jailhouse-dev/20190713181037.4358-6-ralf.ramsauer%40oth-regensburg.de.
For more options, visit https://groups.google.com/d/optout.