diff --git a/sys/dev/xen/balloon/balloon.c b/sys/dev/xen/balloon/balloon.c --- a/sys/dev/xen/balloon/balloon.c +++ b/sys/dev/xen/balloon/balloon.c @@ -155,7 +155,6 @@ vm_page_t page; long rc; struct xen_memory_reservation reservation = { - .address_bits = 0, .extent_order = 0, .domid = DOMID_SELF }; @@ -217,7 +216,6 @@ int need_sleep = 0; int ret __diagused; struct xen_memory_reservation reservation = { - .address_bits = 0, .extent_order = 0, .domid = DOMID_SELF }; diff --git a/sys/dev/xen/grant_table/grant_table.c b/sys/dev/xen/grant_table/grant_table.c --- a/sys/dev/xen/grant_table/grant_table.c +++ b/sys/dev/xen/grant_table/grant_table.c @@ -39,6 +39,8 @@ #include #include +#define grant_entry_t grant_entry_v1_t + /* External tools reserve first few grant table entries. */ #define NR_RESERVED_ENTRIES 8 #define GREFS_PER_GRANT_FRAME (PAGE_SIZE / sizeof(grant_entry_t)) diff --git a/sys/dev/xen/privcmd/privcmd.c b/sys/dev/xen/privcmd/privcmd.c --- a/sys/dev/xen/privcmd/privcmd.c +++ b/sys/dev/xen/privcmd/privcmd.c @@ -315,7 +315,7 @@ } case IOCTL_PRIVCMD_MMAPBATCH: { struct ioctl_privcmd_mmapbatch *mmap; - struct xen_add_to_physmap_range add; + struct xen_add_to_physmap_batch add; xen_ulong_t *idxs; xen_pfn_t *gpfns; int *errs; @@ -338,7 +338,7 @@ add.domid = DOMID_SELF; add.space = XENMAPSPACE_gmfn_foreign; - add.foreign_domid = mmap->dom; + add.u.foreign_domid = mmap->dom; /* * The 'size' field in the xen_add_to_physmap_range only @@ -370,7 +370,7 @@ bzero(errs, sizeof(*errs) * num); error = HYPERVISOR_memory_op( - XENMEM_add_to_physmap_range, &add); + XENMEM_add_to_physmap_batch, &add); if (error != 0) { error = xen_translate_error(error); goto mmap_out; diff --git a/sys/x86/xen/xen_intr.c b/sys/x86/xen/xen_intr.c --- a/sys/x86/xen/xen_intr.c +++ b/sys/x86/xen/xen_intr.c @@ -162,7 +162,7 @@ static struct mtx xen_intr_isrc_lock; static u_int xen_intr_auto_vector_count; -static struct xenisrc *xen_intr_port_to_isrc[NR_EVENT_CHANNELS]; +static struct xenisrc *xen_intr_port_to_isrc[EVTCHN_2L_NR_CHANNELS]; /*------------------------- Private Functions --------------------------------*/ @@ -310,7 +310,7 @@ KASSERT(mtx_owned(&xen_intr_isrc_lock), ("Evtchn alloc lock not held")); - if (xen_intr_auto_vector_count > NR_EVENT_CHANNELS) { + if (xen_intr_auto_vector_count > EVTCHN_2L_NR_CHANNELS) { if (!warned) { warned = 1; printf("%s: Event channels exhausted.\n", __func__); @@ -650,10 +650,10 @@ xen_intr_alloc_irqs(void) { - if (num_io_irqs > UINT_MAX - NR_EVENT_CHANNELS) + if (num_io_irqs > UINT_MAX - EVTCHN_2L_NR_CHANNELS) panic("IRQ allocation overflow (num_msi_irqs too high?)"); first_evtchn_irq = num_io_irqs; - num_io_irqs += NR_EVENT_CHANNELS; + num_io_irqs += EVTCHN_2L_NR_CHANNELS; } /*--------------------------- Common PIC Functions ---------------------------*/ @@ -1284,7 +1284,7 @@ xen_intr_get_evtchn_from_port(evtchn_port_t port, xen_intr_handle_t *handlep) { - if (!is_valid_evtchn(port) || port >= NR_EVENT_CHANNELS) + if (!is_valid_evtchn(port) || port >= EVTCHN_2L_NR_CHANNELS) return (EINVAL); if (handlep == NULL) { @@ -1356,7 +1356,7 @@ return; } - for (i = 0; i < NR_EVENT_CHANNELS; i++) { + for (i = 0; i < EVTCHN_2L_NR_CHANNELS; i++) { struct xenisrc *isrc; isrc = xen_intr_port_to_isrc[i]; diff --git a/sys/xen/xen-os.h b/sys/xen/xen-os.h --- a/sys/xen/xen-os.h +++ b/sys/xen/xen-os.h @@ -30,7 +30,7 @@ #ifndef _XEN_XEN_OS_H_ #define _XEN_XEN_OS_H_ -#define __XEN_INTERFACE_VERSION__ 0x00030208 +#define __XEN_INTERFACE_VERSION__ 0x00040d00 #define GRANT_REF_INVALID 0xffffffff