linux/include/xen/interface
Julien Grall 380108d891 xen/block: Correctly define structures in public headers on ARM32 and ARM64
On ARM (32 bits and 64 bits), the double-word is 8-bytes aligned. This will
result on different structure from Xen and Linux repositories.

As Linux is using __packed__ attribute, it must have a 4-bytes padding before
each "id" field.

This change breaks guest block support with older kernel. IMHO, it's acceptable
because Xen on ARM is still on Tech Preview and the hypercall ABI is not yet
freezed.

Only one architecture (x86_32) doesn't have 64-bit ABI for the block interface.
Don't add padding if Linux is compiled for this architecture.

Signed-off-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Roger Pau Monne <roger.pau@citrix.com>
Acked-by: David Vrabel <david.vrabel@citrix.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
[I had asked for confirmation that it did not break x86 and Ian went
beyound the call of duty to confirm it. Also a internal regression
bucket with 32/64 dom0 with 32/64 domU (PV and HVM) confirmed no
regressions. ABI changes are a drag..]
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2013-12-13 10:04:51 -05:00
..
hvm Feature: 2012-10-12 22:20:28 +09:00
io xen/block: Correctly define structures in public headers on ARM32 and ARM64 2013-12-13 10:04:51 -05:00
callback.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
elfnote.h Fix common misspellings 2011-03-31 11:26:23 -03:00
event_channel.h xen: Add EVTCHNOP_reset in Xen interface header files. 2012-12-17 21:58:05 -05:00
features.h xen/arm: get privilege status 2012-08-08 17:20:18 +00:00
grant_table.h xen: grant: use xen_pfn_t type for frame_list. 2012-10-19 15:17:55 -04:00
memory.h xen: implement updated XENMEM_add_to_physmap_range ABI 2013-02-19 22:01:55 -05:00
physdev.h xen/mcfg: Call PHYSDEVOP_pci_mmcfg_reserved for MCFG areas. 2013-11-08 15:12:52 -05:00
platform.h xen / ACPI: notify xen when reduced hardware sleep is available 2013-07-31 14:22:35 +02:00
sched.h UAPI: (Scripted) Convert #include "..." to #include <path/...> in kernel system headers 2012-10-02 18:01:25 +01:00
vcpu.h xen: Support 64-bit PV guest receiving NMIs 2013-08-09 10:55:47 -04:00
version.h xen/acpi: Move the xen_running_on_version_or_later function. 2012-11-28 14:39:31 -05:00
xen-mca.h xen/mce: Add mcelog support for Xen platform 2012-07-19 15:51:36 -04:00
xen.h xen: event channel arrays are xen_ulong_t and not unsigned long 2013-02-20 08:45:07 -05:00
xencomm.h xen: import arch generic part of xencomm 2008-04-24 23:57:32 +02:00