diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-10-30 03:20:56 -0400 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2012-10-30 03:20:56 -0400 |
| commit | 53279f36dccffc26ff536003fd6bb97cc21c3b82 (patch) | |
| tree | 9d16e497c0e4158c7c054c479bd0e9ff0388d7bb /include/xen/interface | |
| parent | a6e8c0a25377e27958b11b20e1927885ae7c9857 (diff) | |
| parent | 8f0d8163b50e01f398b14bcd4dc039ac5ab18d64 (diff) | |
Merge tag 'v3.7-rc3' into next to sync up with recent USB and MFD changes
Diffstat (limited to 'include/xen/interface')
| -rw-r--r-- | include/xen/interface/callback.h | 2 | ||||
| -rw-r--r-- | include/xen/interface/features.h | 3 | ||||
| -rw-r--r-- | include/xen/interface/grant_table.h | 14 | ||||
| -rw-r--r-- | include/xen/interface/hvm/hvm_op.h | 19 | ||||
| -rw-r--r-- | include/xen/interface/hvm/params.h | 2 | ||||
| -rw-r--r-- | include/xen/interface/io/blkif.h | 4 | ||||
| -rw-r--r-- | include/xen/interface/io/netif.h | 4 | ||||
| -rw-r--r-- | include/xen/interface/io/protocols.h | 3 | ||||
| -rw-r--r-- | include/xen/interface/memory.h | 43 | ||||
| -rw-r--r-- | include/xen/interface/physdev.h | 18 | ||||
| -rw-r--r-- | include/xen/interface/platform.h | 9 | ||||
| -rw-r--r-- | include/xen/interface/sched.h | 2 | ||||
| -rw-r--r-- | include/xen/interface/version.h | 7 | ||||
| -rw-r--r-- | include/xen/interface/xen.h | 8 |
14 files changed, 86 insertions, 52 deletions
diff --git a/include/xen/interface/callback.h b/include/xen/interface/callback.h index 2ae3cd243264..8c5fa0e20155 100644 --- a/include/xen/interface/callback.h +++ b/include/xen/interface/callback.h | |||
| @@ -27,7 +27,7 @@ | |||
| 27 | #ifndef __XEN_PUBLIC_CALLBACK_H__ | 27 | #ifndef __XEN_PUBLIC_CALLBACK_H__ |
| 28 | #define __XEN_PUBLIC_CALLBACK_H__ | 28 | #define __XEN_PUBLIC_CALLBACK_H__ |
| 29 | 29 | ||
| 30 | #include "xen.h" | 30 | #include <xen/interface/xen.h> |
| 31 | 31 | ||
| 32 | /* | 32 | /* |
| 33 | * Prototype for this hypercall is: | 33 | * Prototype for this hypercall is: |
diff --git a/include/xen/interface/features.h b/include/xen/interface/features.h index b6ca39a069d8..131a6ccdba25 100644 --- a/include/xen/interface/features.h +++ b/include/xen/interface/features.h | |||
| @@ -50,6 +50,9 @@ | |||
| 50 | /* x86: pirq can be used by HVM guests */ | 50 | /* x86: pirq can be used by HVM guests */ |
| 51 | #define XENFEAT_hvm_pirqs 10 | 51 | #define XENFEAT_hvm_pirqs 10 |
| 52 | 52 | ||
| 53 | /* operation as Dom0 is supported */ | ||
| 54 | #define XENFEAT_dom0 11 | ||
| 55 | |||
| 53 | #define XENFEAT_NR_SUBMAPS 1 | 56 | #define XENFEAT_NR_SUBMAPS 1 |
| 54 | 57 | ||
| 55 | #endif /* __XEN_PUBLIC_FEATURES_H__ */ | 58 | #endif /* __XEN_PUBLIC_FEATURES_H__ */ |
diff --git a/include/xen/interface/grant_table.h b/include/xen/interface/grant_table.h index a17d84433e6a..e40fae9bf11a 100644 --- a/include/xen/interface/grant_table.h +++ b/include/xen/interface/grant_table.h | |||
| @@ -310,7 +310,7 @@ struct gnttab_setup_table { | |||
| 310 | uint32_t nr_frames; | 310 | uint32_t nr_frames; |
| 311 | /* OUT parameters. */ | 311 | /* OUT parameters. */ |
| 312 | int16_t status; /* GNTST_* */ | 312 | int16_t status; /* GNTST_* */ |
| 313 | GUEST_HANDLE(ulong) frame_list; | 313 | GUEST_HANDLE(xen_pfn_t) frame_list; |
| 314 | }; | 314 | }; |
| 315 | DEFINE_GUEST_HANDLE_STRUCT(gnttab_setup_table); | 315 | DEFINE_GUEST_HANDLE_STRUCT(gnttab_setup_table); |
| 316 | 316 | ||
| @@ -338,7 +338,7 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_dump_table); | |||
| 338 | #define GNTTABOP_transfer 4 | 338 | #define GNTTABOP_transfer 4 |
| 339 | struct gnttab_transfer { | 339 | struct gnttab_transfer { |
| 340 | /* IN parameters. */ | 340 | /* IN parameters. */ |
| 341 | unsigned long mfn; | 341 | xen_pfn_t mfn; |
| 342 | domid_t domid; | 342 | domid_t domid; |
| 343 | grant_ref_t ref; | 343 | grant_ref_t ref; |
| 344 | /* OUT parameters. */ | 344 | /* OUT parameters. */ |
| @@ -375,7 +375,7 @@ struct gnttab_copy { | |||
| 375 | struct { | 375 | struct { |
| 376 | union { | 376 | union { |
| 377 | grant_ref_t ref; | 377 | grant_ref_t ref; |
| 378 | unsigned long gmfn; | 378 | xen_pfn_t gmfn; |
| 379 | } u; | 379 | } u; |
| 380 | domid_t domid; | 380 | domid_t domid; |
| 381 | uint16_t offset; | 381 | uint16_t offset; |
| @@ -519,7 +519,9 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_get_version); | |||
| 519 | #define GNTST_no_device_space (-7) /* Out of space in I/O MMU. */ | 519 | #define GNTST_no_device_space (-7) /* Out of space in I/O MMU. */ |
| 520 | #define GNTST_permission_denied (-8) /* Not enough privilege for operation. */ | 520 | #define GNTST_permission_denied (-8) /* Not enough privilege for operation. */ |
| 521 | #define GNTST_bad_page (-9) /* Specified page was invalid for op. */ | 521 | #define GNTST_bad_page (-9) /* Specified page was invalid for op. */ |
| 522 | #define GNTST_bad_copy_arg (-10) /* copy arguments cross page boundary */ | 522 | #define GNTST_bad_copy_arg (-10) /* copy arguments cross page boundary. */ |
| 523 | #define GNTST_address_too_big (-11) /* transfer page address too large. */ | ||
| 524 | #define GNTST_eagain (-12) /* Operation not done; try again. */ | ||
| 523 | 525 | ||
| 524 | #define GNTTABOP_error_msgs { \ | 526 | #define GNTTABOP_error_msgs { \ |
| 525 | "okay", \ | 527 | "okay", \ |
| @@ -532,7 +534,9 @@ DEFINE_GUEST_HANDLE_STRUCT(gnttab_get_version); | |||
| 532 | "no spare translation slot in the I/O MMU", \ | 534 | "no spare translation slot in the I/O MMU", \ |
| 533 | "permission denied", \ | 535 | "permission denied", \ |
| 534 | "bad page", \ | 536 | "bad page", \ |
| 535 | "copy arguments cross page boundary" \ | 537 | "copy arguments cross page boundary", \ |
| 538 | "page address size too large", \ | ||
| 539 | "operation not done; try again" \ | ||
| 536 | } | 540 | } |
| 537 | 541 | ||
| 538 | #endif /* __XEN_PUBLIC_GRANT_TABLE_H__ */ | 542 | #endif /* __XEN_PUBLIC_GRANT_TABLE_H__ */ |
diff --git a/include/xen/interface/hvm/hvm_op.h b/include/xen/interface/hvm/hvm_op.h index a4827f46ee97..956a04682865 100644 --- a/include/xen/interface/hvm/hvm_op.h +++ b/include/xen/interface/hvm/hvm_op.h | |||
| @@ -43,4 +43,23 @@ struct xen_hvm_pagetable_dying { | |||
| 43 | typedef struct xen_hvm_pagetable_dying xen_hvm_pagetable_dying_t; | 43 | typedef struct xen_hvm_pagetable_dying xen_hvm_pagetable_dying_t; |
| 44 | DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_pagetable_dying_t); | 44 | DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_pagetable_dying_t); |
| 45 | 45 | ||
| 46 | enum hvmmem_type_t { | ||
| 47 | HVMMEM_ram_rw, /* Normal read/write guest RAM */ | ||
| 48 | HVMMEM_ram_ro, /* Read-only; writes are discarded */ | ||
| 49 | HVMMEM_mmio_dm, /* Reads and write go to the device model */ | ||
| 50 | }; | ||
| 51 | |||
| 52 | #define HVMOP_get_mem_type 15 | ||
| 53 | /* Return hvmmem_type_t for the specified pfn. */ | ||
| 54 | struct xen_hvm_get_mem_type { | ||
| 55 | /* Domain to be queried. */ | ||
| 56 | domid_t domid; | ||
| 57 | /* OUT variable. */ | ||
| 58 | uint16_t mem_type; | ||
| 59 | uint16_t pad[2]; /* align next field on 8-byte boundary */ | ||
| 60 | /* IN variable. */ | ||
| 61 | uint64_t pfn; | ||
| 62 | }; | ||
| 63 | DEFINE_GUEST_HANDLE_STRUCT(xen_hvm_get_mem_type); | ||
| 64 | |||
| 46 | #endif /* __XEN_PUBLIC_HVM_HVM_OP_H__ */ | 65 | #endif /* __XEN_PUBLIC_HVM_HVM_OP_H__ */ |
diff --git a/include/xen/interface/hvm/params.h b/include/xen/interface/hvm/params.h index 1b4f923d7086..a6c79911e729 100644 --- a/include/xen/interface/hvm/params.h +++ b/include/xen/interface/hvm/params.h | |||
| @@ -21,7 +21,7 @@ | |||
| 21 | #ifndef __XEN_PUBLIC_HVM_PARAMS_H__ | 21 | #ifndef __XEN_PUBLIC_HVM_PARAMS_H__ |
| 22 | #define __XEN_PUBLIC_HVM_PARAMS_H__ | 22 | #define __XEN_PUBLIC_HVM_PARAMS_H__ |
| 23 | 23 | ||
| 24 | #include "hvm_op.h" | 24 | #include <xen/interface/hvm/hvm_op.h> |
| 25 | 25 | ||
| 26 | /* | 26 | /* |
| 27 | * Parameter space for HVMOP_{set,get}_param. | 27 | * Parameter space for HVMOP_{set,get}_param. |
diff --git a/include/xen/interface/io/blkif.h b/include/xen/interface/io/blkif.h index ee338bfde18b..01c3d62436ef 100644 --- a/include/xen/interface/io/blkif.h +++ b/include/xen/interface/io/blkif.h | |||
| @@ -9,8 +9,8 @@ | |||
| 9 | #ifndef __XEN_PUBLIC_IO_BLKIF_H__ | 9 | #ifndef __XEN_PUBLIC_IO_BLKIF_H__ |
| 10 | #define __XEN_PUBLIC_IO_BLKIF_H__ | 10 | #define __XEN_PUBLIC_IO_BLKIF_H__ |
| 11 | 11 | ||
| 12 | #include "ring.h" | 12 | #include <xen/interface/io/ring.h> |
| 13 | #include "../grant_table.h" | 13 | #include <xen/interface/grant_table.h> |
| 14 | 14 | ||
| 15 | /* | 15 | /* |
| 16 | * Front->back notifications: When enqueuing a new request, sending a | 16 | * Front->back notifications: When enqueuing a new request, sending a |
diff --git a/include/xen/interface/io/netif.h b/include/xen/interface/io/netif.h index cb94668f6e9f..9dfc12000980 100644 --- a/include/xen/interface/io/netif.h +++ b/include/xen/interface/io/netif.h | |||
| @@ -9,8 +9,8 @@ | |||
| 9 | #ifndef __XEN_PUBLIC_IO_NETIF_H__ | 9 | #ifndef __XEN_PUBLIC_IO_NETIF_H__ |
| 10 | #define __XEN_PUBLIC_IO_NETIF_H__ | 10 | #define __XEN_PUBLIC_IO_NETIF_H__ |
| 11 | 11 | ||
| 12 | #include "ring.h" | 12 | #include <xen/interface/io/ring.h> |
| 13 | #include "../grant_table.h" | 13 | #include <xen/interface/grant_table.h> |
| 14 | 14 | ||
| 15 | /* | 15 | /* |
| 16 | * Notifications after enqueuing any type of message should be conditional on | 16 | * Notifications after enqueuing any type of message should be conditional on |
diff --git a/include/xen/interface/io/protocols.h b/include/xen/interface/io/protocols.h index 01fc8ae5f0b0..0eafaf254fff 100644 --- a/include/xen/interface/io/protocols.h +++ b/include/xen/interface/io/protocols.h | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | #define XEN_IO_PROTO_ABI_X86_64 "x86_64-abi" | 5 | #define XEN_IO_PROTO_ABI_X86_64 "x86_64-abi" |
| 6 | #define XEN_IO_PROTO_ABI_IA64 "ia64-abi" | 6 | #define XEN_IO_PROTO_ABI_IA64 "ia64-abi" |
| 7 | #define XEN_IO_PROTO_ABI_POWERPC64 "powerpc64-abi" | 7 | #define XEN_IO_PROTO_ABI_POWERPC64 "powerpc64-abi" |
| 8 | #define XEN_IO_PROTO_ABI_ARM "arm-abi" | ||
| 8 | 9 | ||
| 9 | #if defined(__i386__) | 10 | #if defined(__i386__) |
| 10 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_32 | 11 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_32 |
| @@ -14,6 +15,8 @@ | |||
| 14 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_IA64 | 15 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_IA64 |
| 15 | #elif defined(__powerpc64__) | 16 | #elif defined(__powerpc64__) |
| 16 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_POWERPC64 | 17 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_POWERPC64 |
| 18 | #elif defined(__arm__) | ||
| 19 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_ARM | ||
| 17 | #else | 20 | #else |
| 18 | # error arch fixup needed here | 21 | # error arch fixup needed here |
| 19 | #endif | 22 | #endif |
diff --git a/include/xen/interface/memory.h b/include/xen/interface/memory.h index eac3ce153719..90712e2072d5 100644 --- a/include/xen/interface/memory.h +++ b/include/xen/interface/memory.h | |||
| @@ -31,10 +31,10 @@ struct xen_memory_reservation { | |||
| 31 | * OUT: GMFN bases of extents that were allocated | 31 | * OUT: GMFN bases of extents that were allocated |
| 32 | * (NB. This command also updates the mach_to_phys translation table) | 32 | * (NB. This command also updates the mach_to_phys translation table) |
| 33 | */ | 33 | */ |
| 34 | GUEST_HANDLE(ulong) extent_start; | 34 | GUEST_HANDLE(xen_pfn_t) extent_start; |
| 35 | 35 | ||
| 36 | /* Number of extents, and size/alignment of each (2^extent_order pages). */ | 36 | /* Number of extents, and size/alignment of each (2^extent_order pages). */ |
| 37 | unsigned long nr_extents; | 37 | xen_ulong_t nr_extents; |
| 38 | unsigned int extent_order; | 38 | unsigned int extent_order; |
| 39 | 39 | ||
| 40 | /* | 40 | /* |
| @@ -92,7 +92,7 @@ struct xen_memory_exchange { | |||
| 92 | * command will be non-zero. | 92 | * command will be non-zero. |
| 93 | * 5. THIS FIELD MUST BE INITIALISED TO ZERO BY THE CALLER! | 93 | * 5. THIS FIELD MUST BE INITIALISED TO ZERO BY THE CALLER! |
| 94 | */ | 94 | */ |
| 95 | unsigned long nr_exchanged; | 95 | xen_ulong_t nr_exchanged; |
| 96 | }; | 96 | }; |
| 97 | 97 | ||
| 98 | DEFINE_GUEST_HANDLE_STRUCT(xen_memory_exchange); | 98 | DEFINE_GUEST_HANDLE_STRUCT(xen_memory_exchange); |
| @@ -130,7 +130,7 @@ struct xen_machphys_mfn_list { | |||
| 130 | * any large discontiguities in the machine address space, 2MB gaps in | 130 | * any large discontiguities in the machine address space, 2MB gaps in |
| 131 | * the machphys table will be represented by an MFN base of zero. | 131 | * the machphys table will be represented by an MFN base of zero. |
| 132 | */ | 132 | */ |
| 133 | GUEST_HANDLE(ulong) extent_start; | 133 | GUEST_HANDLE(xen_pfn_t) extent_start; |
| 134 | 134 | ||
| 135 | /* | 135 | /* |
| 136 | * Number of extents written to the above array. This will be smaller | 136 | * Number of extents written to the above array. This will be smaller |
| @@ -148,8 +148,8 @@ DEFINE_GUEST_HANDLE_STRUCT(xen_machphys_mfn_list); | |||
| 148 | */ | 148 | */ |
| 149 | #define XENMEM_machphys_mapping 12 | 149 | #define XENMEM_machphys_mapping 12 |
| 150 | struct xen_machphys_mapping { | 150 | struct xen_machphys_mapping { |
| 151 | unsigned long v_start, v_end; /* Start and end virtual addresses. */ | 151 | xen_ulong_t v_start, v_end; /* Start and end virtual addresses. */ |
| 152 | unsigned long max_mfn; /* Maximum MFN that can be looked up. */ | 152 | xen_ulong_t max_mfn; /* Maximum MFN that can be looked up. */ |
| 153 | }; | 153 | }; |
| 154 | DEFINE_GUEST_HANDLE_STRUCT(xen_machphys_mapping_t); | 154 | DEFINE_GUEST_HANDLE_STRUCT(xen_machphys_mapping_t); |
| 155 | 155 | ||
| @@ -163,41 +163,24 @@ struct xen_add_to_physmap { | |||
| 163 | /* Which domain to change the mapping for. */ | 163 | /* Which domain to change the mapping for. */ |
| 164 | domid_t domid; | 164 | domid_t domid; |
| 165 | 165 | ||
| 166 | /* Number of pages to go through for gmfn_range */ | ||
| 167 | uint16_t size; | ||
| 168 | |||
| 166 | /* Source mapping space. */ | 169 | /* Source mapping space. */ |
| 167 | #define XENMAPSPACE_shared_info 0 /* shared info page */ | 170 | #define XENMAPSPACE_shared_info 0 /* shared info page */ |
| 168 | #define XENMAPSPACE_grant_table 1 /* grant table page */ | 171 | #define XENMAPSPACE_grant_table 1 /* grant table page */ |
| 169 | unsigned int space; | 172 | unsigned int space; |
| 170 | 173 | ||
| 171 | /* Index into source mapping space. */ | 174 | /* Index into source mapping space. */ |
| 172 | unsigned long idx; | 175 | xen_ulong_t idx; |
| 173 | 176 | ||
| 174 | /* GPFN where the source mapping page should appear. */ | 177 | /* GPFN where the source mapping page should appear. */ |
| 175 | unsigned long gpfn; | 178 | xen_pfn_t gpfn; |
| 176 | }; | 179 | }; |
| 177 | DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap); | 180 | DEFINE_GUEST_HANDLE_STRUCT(xen_add_to_physmap); |
| 178 | 181 | ||
| 179 | /* | 182 | /*** REMOVED ***/ |
| 180 | * Translates a list of domain-specific GPFNs into MFNs. Returns a -ve error | 183 | /*#define XENMEM_translate_gpfn_list 8*/ |
| 181 | * code on failure. This call only works for auto-translated guests. | ||
| 182 | */ | ||
| 183 | #define XENMEM_translate_gpfn_list 8 | ||
| 184 | struct xen_translate_gpfn_list { | ||
| 185 | /* Which domain to translate for? */ | ||
| 186 | domid_t domid; | ||
| 187 | |||
| 188 | /* Length of list. */ | ||
| 189 | unsigned long nr_gpfns; | ||
| 190 | |||
| 191 | /* List of GPFNs to translate. */ | ||
| 192 | GUEST_HANDLE(ulong) gpfn_list; | ||
| 193 | |||
| 194 | /* | ||
| 195 | * Output list to contain MFN translations. May be the same as the input | ||
| 196 | * list (in which case each input GPFN is overwritten with the output MFN). | ||
| 197 | */ | ||
| 198 | GUEST_HANDLE(ulong) mfn_list; | ||
| 199 | }; | ||
| 200 | DEFINE_GUEST_HANDLE_STRUCT(xen_translate_gpfn_list); | ||
| 201 | 184 | ||
| 202 | /* | 185 | /* |
| 203 | * Returns the pseudo-physical memory map as it was when the domain | 186 | * Returns the pseudo-physical memory map as it was when the domain |
diff --git a/include/xen/interface/physdev.h b/include/xen/interface/physdev.h index 9ce788d8cf49..1844d31f4552 100644 --- a/include/xen/interface/physdev.h +++ b/include/xen/interface/physdev.h | |||
| @@ -56,7 +56,7 @@ struct physdev_eoi { | |||
| 56 | #define PHYSDEVOP_pirq_eoi_gmfn_v2 28 | 56 | #define PHYSDEVOP_pirq_eoi_gmfn_v2 28 |
| 57 | struct physdev_pirq_eoi_gmfn { | 57 | struct physdev_pirq_eoi_gmfn { |
| 58 | /* IN */ | 58 | /* IN */ |
| 59 | unsigned long gmfn; | 59 | xen_ulong_t gmfn; |
| 60 | }; | 60 | }; |
| 61 | 61 | ||
| 62 | /* | 62 | /* |
| @@ -258,6 +258,22 @@ struct physdev_pci_device { | |||
| 258 | uint8_t devfn; | 258 | uint8_t devfn; |
| 259 | }; | 259 | }; |
| 260 | 260 | ||
| 261 | #define PHYSDEVOP_DBGP_RESET_PREPARE 1 | ||
| 262 | #define PHYSDEVOP_DBGP_RESET_DONE 2 | ||
| 263 | |||
| 264 | #define PHYSDEVOP_DBGP_BUS_UNKNOWN 0 | ||
| 265 | #define PHYSDEVOP_DBGP_BUS_PCI 1 | ||
| 266 | |||
| 267 | #define PHYSDEVOP_dbgp_op 29 | ||
| 268 | struct physdev_dbgp_op { | ||
| 269 | /* IN */ | ||
| 270 | uint8_t op; | ||
| 271 | uint8_t bus; | ||
| 272 | union { | ||
| 273 | struct physdev_pci_device pci; | ||
| 274 | } u; | ||
| 275 | }; | ||
| 276 | |||
| 261 | /* | 277 | /* |
| 262 | * Notify that some PIRQ-bound event channels have been unmasked. | 278 | * Notify that some PIRQ-bound event channels have been unmasked. |
| 263 | * ** This command is obsolete since interface version 0x00030202 and is ** | 279 | * ** This command is obsolete since interface version 0x00030202 and is ** |
diff --git a/include/xen/interface/platform.h b/include/xen/interface/platform.h index 61fa66160983..4755b5fac9c7 100644 --- a/include/xen/interface/platform.h +++ b/include/xen/interface/platform.h | |||
| @@ -27,7 +27,7 @@ | |||
| 27 | #ifndef __XEN_PUBLIC_PLATFORM_H__ | 27 | #ifndef __XEN_PUBLIC_PLATFORM_H__ |
| 28 | #define __XEN_PUBLIC_PLATFORM_H__ | 28 | #define __XEN_PUBLIC_PLATFORM_H__ |
| 29 | 29 | ||
| 30 | #include "xen.h" | 30 | #include <xen/interface/xen.h> |
| 31 | 31 | ||
| 32 | #define XENPF_INTERFACE_VERSION 0x03000001 | 32 | #define XENPF_INTERFACE_VERSION 0x03000001 |
| 33 | 33 | ||
| @@ -54,7 +54,7 @@ DEFINE_GUEST_HANDLE_STRUCT(xenpf_settime_t); | |||
| 54 | #define XENPF_add_memtype 31 | 54 | #define XENPF_add_memtype 31 |
| 55 | struct xenpf_add_memtype { | 55 | struct xenpf_add_memtype { |
| 56 | /* IN variables. */ | 56 | /* IN variables. */ |
| 57 | unsigned long mfn; | 57 | xen_pfn_t mfn; |
| 58 | uint64_t nr_mfns; | 58 | uint64_t nr_mfns; |
| 59 | uint32_t type; | 59 | uint32_t type; |
| 60 | /* OUT variables. */ | 60 | /* OUT variables. */ |
| @@ -84,7 +84,7 @@ struct xenpf_read_memtype { | |||
| 84 | /* IN variables. */ | 84 | /* IN variables. */ |
| 85 | uint32_t reg; | 85 | uint32_t reg; |
| 86 | /* OUT variables. */ | 86 | /* OUT variables. */ |
| 87 | unsigned long mfn; | 87 | xen_pfn_t mfn; |
| 88 | uint64_t nr_mfns; | 88 | uint64_t nr_mfns; |
| 89 | uint32_t type; | 89 | uint32_t type; |
| 90 | }; | 90 | }; |
| @@ -112,6 +112,7 @@ DEFINE_GUEST_HANDLE_STRUCT(xenpf_platform_quirk_t); | |||
| 112 | #define XEN_FW_DISK_INFO 1 /* from int 13 AH=08/41/48 */ | 112 | #define XEN_FW_DISK_INFO 1 /* from int 13 AH=08/41/48 */ |
| 113 | #define XEN_FW_DISK_MBR_SIGNATURE 2 /* from MBR offset 0x1b8 */ | 113 | #define XEN_FW_DISK_MBR_SIGNATURE 2 /* from MBR offset 0x1b8 */ |
| 114 | #define XEN_FW_VBEDDC_INFO 3 /* from int 10 AX=4f15 */ | 114 | #define XEN_FW_VBEDDC_INFO 3 /* from int 10 AX=4f15 */ |
| 115 | #define XEN_FW_KBD_SHIFT_FLAGS 5 /* Int16, Fn02: Get keyboard shift flags. */ | ||
| 115 | struct xenpf_firmware_info { | 116 | struct xenpf_firmware_info { |
| 116 | /* IN variables. */ | 117 | /* IN variables. */ |
| 117 | uint32_t type; | 118 | uint32_t type; |
| @@ -142,6 +143,8 @@ struct xenpf_firmware_info { | |||
| 142 | /* must refer to 128-byte buffer */ | 143 | /* must refer to 128-byte buffer */ |
| 143 | GUEST_HANDLE(uchar) edid; | 144 | GUEST_HANDLE(uchar) edid; |
| 144 | } vbeddc_info; /* XEN_FW_VBEDDC_INFO */ | 145 | } vbeddc_info; /* XEN_FW_VBEDDC_INFO */ |
| 146 | |||
| 147 | uint8_t kbd_shift_flags; /* XEN_FW_KBD_SHIFT_FLAGS */ | ||
| 145 | } u; | 148 | } u; |
| 146 | }; | 149 | }; |
| 147 | DEFINE_GUEST_HANDLE_STRUCT(xenpf_firmware_info_t); | 150 | DEFINE_GUEST_HANDLE_STRUCT(xenpf_firmware_info_t); |
diff --git a/include/xen/interface/sched.h b/include/xen/interface/sched.h index dd55dac340de..9ce083960a25 100644 --- a/include/xen/interface/sched.h +++ b/include/xen/interface/sched.h | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | #ifndef __XEN_PUBLIC_SCHED_H__ | 9 | #ifndef __XEN_PUBLIC_SCHED_H__ |
| 10 | #define __XEN_PUBLIC_SCHED_H__ | 10 | #define __XEN_PUBLIC_SCHED_H__ |
| 11 | 11 | ||
| 12 | #include "event_channel.h" | 12 | #include <xen/interface/event_channel.h> |
| 13 | 13 | ||
| 14 | /* | 14 | /* |
| 15 | * The prototype for this hypercall is: | 15 | * The prototype for this hypercall is: |
diff --git a/include/xen/interface/version.h b/include/xen/interface/version.h index e8b6519d47e9..7ff6498679a3 100644 --- a/include/xen/interface/version.h +++ b/include/xen/interface/version.h | |||
| @@ -45,7 +45,7 @@ struct xen_changeset_info { | |||
| 45 | 45 | ||
| 46 | #define XENVER_platform_parameters 5 | 46 | #define XENVER_platform_parameters 5 |
| 47 | struct xen_platform_parameters { | 47 | struct xen_platform_parameters { |
| 48 | unsigned long virt_start; | 48 | xen_ulong_t virt_start; |
| 49 | }; | 49 | }; |
| 50 | 50 | ||
| 51 | #define XENVER_get_features 6 | 51 | #define XENVER_get_features 6 |
| @@ -55,9 +55,12 @@ struct xen_feature_info { | |||
| 55 | }; | 55 | }; |
| 56 | 56 | ||
| 57 | /* Declares the features reported by XENVER_get_features. */ | 57 | /* Declares the features reported by XENVER_get_features. */ |
| 58 | #include "features.h" | 58 | #include <xen/interface/features.h> |
| 59 | 59 | ||
| 60 | /* arg == NULL; returns host memory page size. */ | 60 | /* arg == NULL; returns host memory page size. */ |
| 61 | #define XENVER_pagesize 7 | 61 | #define XENVER_pagesize 7 |
| 62 | 62 | ||
| 63 | /* arg == xen_domain_handle_t. */ | ||
| 64 | #define XENVER_guest_handle 8 | ||
| 65 | |||
| 63 | #endif /* __XEN_PUBLIC_VERSION_H__ */ | 66 | #endif /* __XEN_PUBLIC_VERSION_H__ */ |
diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h index 0801468f9abe..886a5d80a18f 100644 --- a/include/xen/interface/xen.h +++ b/include/xen/interface/xen.h | |||
| @@ -10,7 +10,6 @@ | |||
| 10 | #define __XEN_PUBLIC_XEN_H__ | 10 | #define __XEN_PUBLIC_XEN_H__ |
| 11 | 11 | ||
| 12 | #include <asm/xen/interface.h> | 12 | #include <asm/xen/interface.h> |
| 13 | #include <asm/pvclock-abi.h> | ||
| 14 | 13 | ||
| 15 | /* | 14 | /* |
| 16 | * XEN "SYSTEM CALLS" (a.k.a. HYPERCALLS). | 15 | * XEN "SYSTEM CALLS" (a.k.a. HYPERCALLS). |
| @@ -190,7 +189,7 @@ struct mmuext_op { | |||
| 190 | unsigned int cmd; | 189 | unsigned int cmd; |
| 191 | union { | 190 | union { |
| 192 | /* [UN]PIN_TABLE, NEW_BASEPTR, NEW_USER_BASEPTR */ | 191 | /* [UN]PIN_TABLE, NEW_BASEPTR, NEW_USER_BASEPTR */ |
| 193 | unsigned long mfn; | 192 | xen_pfn_t mfn; |
| 194 | /* INVLPG_LOCAL, INVLPG_ALL, SET_LDT */ | 193 | /* INVLPG_LOCAL, INVLPG_ALL, SET_LDT */ |
| 195 | unsigned long linear_addr; | 194 | unsigned long linear_addr; |
| 196 | } arg1; | 195 | } arg1; |
| @@ -430,11 +429,11 @@ struct start_info { | |||
| 430 | unsigned long nr_pages; /* Total pages allocated to this domain. */ | 429 | unsigned long nr_pages; /* Total pages allocated to this domain. */ |
| 431 | unsigned long shared_info; /* MACHINE address of shared info struct. */ | 430 | unsigned long shared_info; /* MACHINE address of shared info struct. */ |
| 432 | uint32_t flags; /* SIF_xxx flags. */ | 431 | uint32_t flags; /* SIF_xxx flags. */ |
| 433 | unsigned long store_mfn; /* MACHINE page number of shared page. */ | 432 | xen_pfn_t store_mfn; /* MACHINE page number of shared page. */ |
| 434 | uint32_t store_evtchn; /* Event channel for store communication. */ | 433 | uint32_t store_evtchn; /* Event channel for store communication. */ |
| 435 | union { | 434 | union { |
| 436 | struct { | 435 | struct { |
| 437 | unsigned long mfn; /* MACHINE page number of console page. */ | 436 | xen_pfn_t mfn; /* MACHINE page number of console page. */ |
| 438 | uint32_t evtchn; /* Event channel for console page. */ | 437 | uint32_t evtchn; /* Event channel for console page. */ |
| 439 | } domU; | 438 | } domU; |
| 440 | struct { | 439 | struct { |
| @@ -455,6 +454,7 @@ struct dom0_vga_console_info { | |||
| 455 | uint8_t video_type; | 454 | uint8_t video_type; |
| 456 | #define XEN_VGATYPE_TEXT_MODE_3 0x03 | 455 | #define XEN_VGATYPE_TEXT_MODE_3 0x03 |
| 457 | #define XEN_VGATYPE_VESA_LFB 0x23 | 456 | #define XEN_VGATYPE_VESA_LFB 0x23 |
| 457 | #define XEN_VGATYPE_EFI_LFB 0x70 | ||
| 458 | 458 | ||
| 459 | union { | 459 | union { |
| 460 | struct { | 460 | struct { |
