From 74b070f2f301ccf9e7ec0feb48b51412280700d9 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Wed, 16 Feb 2022 23:55:34 +0100 Subject: xen: Fix storing physical addresses --- i386/intel/pmap.c | 4 ++-- xen/block.c | 4 ++-- xen/net.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c index 3bf00659..1a765352 100644 --- a/i386/intel/pmap.c +++ b/i386/intel/pmap.c @@ -842,7 +842,7 @@ void pmap_bootstrap(void) /* Set back a page read write */ void pmap_set_page_readwrite(void *_vaddr) { vm_offset_t vaddr = (vm_offset_t) _vaddr; - vm_offset_t paddr = kvtophys(vaddr); + phys_addr_t paddr = kvtophys(vaddr); vm_offset_t canon_vaddr = phystokv(paddr); if (hyp_do_update_va_mapping (kvtolin(vaddr), pa_to_pte (pa_to_ma(paddr)) | INTEL_PTE_VALID | INTEL_PTE_WRITE, UVMF_NONE)) panic("couldn't set hiMMU readwrite for addr %lx(%lx)\n", vaddr, (vm_offset_t) pa_to_ma (paddr)); @@ -854,7 +854,7 @@ void pmap_set_page_readwrite(void *_vaddr) { /* Set a page read only (so as to pin it for instance) */ void pmap_set_page_readonly(void *_vaddr) { vm_offset_t vaddr = (vm_offset_t) _vaddr; - vm_offset_t paddr = kvtophys(vaddr); + phys_addr_t paddr = kvtophys(vaddr); vm_offset_t canon_vaddr = phystokv(paddr); if (*pmap_pde(kernel_pmap, vaddr) & INTEL_PTE_VALID) { if (hyp_do_update_va_mapping (kvtolin(vaddr), pa_to_pte (pa_to_ma(paddr)) | INTEL_PTE_VALID, UVMF_NONE)) diff --git a/xen/block.c b/xen/block.c index f7c7d7db..84fe4449 100644 --- a/xen/block.c +++ b/xen/block.c @@ -108,7 +108,7 @@ void hyp_block_init(void) { domid_t domid; evtchn_port_t evt; hyp_store_transaction_t t; - vm_offset_t addr; + phys_addr_t addr; struct block_data *bd; blkif_sring_t *ring; @@ -573,7 +573,7 @@ device_write(void *d, ipc_port_t reply_port, vm_offset_t map_addr; vm_size_t map_size; unsigned copy_npages = atop(round_page(count)); - vm_offset_t phys_addrs[copy_npages]; + phys_addr_t phys_addrs[copy_npages]; struct block_data *bd = d; blkif_request_t *req; grant_ref_t gref[BLKIF_MAX_SEGMENTS_PER_REQUEST]; diff --git a/xen/net.c b/xen/net.c index ac8c9b1f..51b031cd 100644 --- a/xen/net.c +++ b/xen/net.c @@ -313,7 +313,7 @@ void hyp_net_init(void) { domid_t domid; evtchn_port_t evt; hyp_store_transaction_t t; - vm_offset_t addr; + phys_addr_t addr; struct net_data *nd; struct ifnet *ifp; netif_tx_sring_t *tx_ring; -- cgit v1.2.3