diff options
-rw-r--r-- | drivers/block/xen-blkfront.c | 7 | ||||
-rw-r--r-- | include/xen/interface/io/protocols.h | 21 |
2 files changed, 28 insertions, 0 deletions
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index 9c6f3f99208d..2e7c81e3f36a 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c | |||
@@ -47,6 +47,7 @@ | |||
47 | 47 | ||
48 | #include <xen/interface/grant_table.h> | 48 | #include <xen/interface/grant_table.h> |
49 | #include <xen/interface/io/blkif.h> | 49 | #include <xen/interface/io/blkif.h> |
50 | #include <xen/interface/io/protocols.h> | ||
50 | 51 | ||
51 | #include <asm/xen/hypervisor.h> | 52 | #include <asm/xen/hypervisor.h> |
52 | 53 | ||
@@ -614,6 +615,12 @@ again: | |||
614 | message = "writing event-channel"; | 615 | message = "writing event-channel"; |
615 | goto abort_transaction; | 616 | goto abort_transaction; |
616 | } | 617 | } |
618 | err = xenbus_printf(xbt, dev->nodename, "protocol", "%s", | ||
619 | XEN_IO_PROTO_ABI_NATIVE); | ||
620 | if (err) { | ||
621 | message = "writing protocol"; | ||
622 | goto abort_transaction; | ||
623 | } | ||
617 | 624 | ||
618 | err = xenbus_transaction_end(xbt, 0); | 625 | err = xenbus_transaction_end(xbt, 0); |
619 | if (err) { | 626 | if (err) { |
diff --git a/include/xen/interface/io/protocols.h b/include/xen/interface/io/protocols.h new file mode 100644 index 000000000000..01fc8ae5f0b0 --- /dev/null +++ b/include/xen/interface/io/protocols.h | |||
@@ -0,0 +1,21 @@ | |||
1 | #ifndef __XEN_PROTOCOLS_H__ | ||
2 | #define __XEN_PROTOCOLS_H__ | ||
3 | |||
4 | #define XEN_IO_PROTO_ABI_X86_32 "x86_32-abi" | ||
5 | #define XEN_IO_PROTO_ABI_X86_64 "x86_64-abi" | ||
6 | #define XEN_IO_PROTO_ABI_IA64 "ia64-abi" | ||
7 | #define XEN_IO_PROTO_ABI_POWERPC64 "powerpc64-abi" | ||
8 | |||
9 | #if defined(__i386__) | ||
10 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_32 | ||
11 | #elif defined(__x86_64__) | ||
12 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_64 | ||
13 | #elif defined(__ia64__) | ||
14 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_IA64 | ||
15 | #elif defined(__powerpc64__) | ||
16 | # define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_POWERPC64 | ||
17 | #else | ||
18 | # error arch fixup needed here | ||
19 | #endif | ||
20 | |||
21 | #endif | ||