diff options
| -rw-r--r-- | arch/arm/boot/dts/xenvm-4.2.dts | 68 | ||||
| -rw-r--r-- | arch/arm/mach-vexpress/Makefile.boot | 3 | ||||
| -rw-r--r-- | arch/arm/mach-vexpress/v2m.c | 1 |
3 files changed, 71 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/xenvm-4.2.dts b/arch/arm/boot/dts/xenvm-4.2.dts new file mode 100644 index 000000000000..ec3f9528e180 --- /dev/null +++ b/arch/arm/boot/dts/xenvm-4.2.dts | |||
| @@ -0,0 +1,68 @@ | |||
| 1 | /* | ||
| 2 | * Xen Virtual Machine for unprivileged guests | ||
| 3 | * | ||
| 4 | * Based on ARM Ltd. Versatile Express CoreTile Express (single CPU) | ||
| 5 | * Cortex-A15 MPCore (V2P-CA15) | ||
| 6 | * | ||
| 7 | */ | ||
| 8 | |||
| 9 | /dts-v1/; | ||
| 10 | |||
| 11 | / { | ||
| 12 | model = "XENVM-4.2"; | ||
| 13 | compatible = "xen,xenvm-4.2", "xen,xenvm"; | ||
| 14 | interrupt-parent = <&gic>; | ||
| 15 | #address-cells = <2>; | ||
| 16 | #size-cells = <2>; | ||
| 17 | |||
| 18 | chosen { | ||
| 19 | /* this field is going to be adjusted by the hypervisor */ | ||
| 20 | bootargs = "console=hvc0 root=/dev/xvda"; | ||
| 21 | }; | ||
| 22 | |||
| 23 | cpus { | ||
| 24 | #address-cells = <1>; | ||
| 25 | #size-cells = <0>; | ||
| 26 | |||
| 27 | cpu@0 { | ||
| 28 | device_type = "cpu"; | ||
| 29 | compatible = "arm,cortex-a15"; | ||
| 30 | reg = <0>; | ||
| 31 | }; | ||
| 32 | }; | ||
| 33 | |||
| 34 | memory@80000000 { | ||
| 35 | device_type = "memory"; | ||
| 36 | /* this field is going to be adjusted by the hypervisor */ | ||
| 37 | reg = <0 0x80000000 0 0x08000000>; | ||
| 38 | }; | ||
| 39 | |||
| 40 | gic: interrupt-controller@2c001000 { | ||
| 41 | compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; | ||
| 42 | #interrupt-cells = <3>; | ||
| 43 | #address-cells = <0>; | ||
| 44 | interrupt-controller; | ||
| 45 | reg = <0 0x2c001000 0 0x1000>, | ||
| 46 | <0 0x2c002000 0 0x100>; | ||
| 47 | }; | ||
| 48 | |||
| 49 | timer { | ||
| 50 | compatible = "arm,armv7-timer"; | ||
| 51 | interrupts = <1 13 0xf08>, | ||
| 52 | <1 14 0xf08>, | ||
| 53 | <1 11 0xf08>, | ||
| 54 | <1 10 0xf08>; | ||
| 55 | }; | ||
| 56 | |||
| 57 | hypervisor { | ||
| 58 | compatible = "xen,xen-4.2", "xen,xen"; | ||
| 59 | /* this field is going to be adjusted by the hypervisor */ | ||
| 60 | reg = <0 0xb0000000 0 0x20000>; | ||
| 61 | /* this field is going to be adjusted by the hypervisor */ | ||
| 62 | interrupts = <1 15 0xf08>; | ||
| 63 | }; | ||
| 64 | |||
| 65 | motherboard { | ||
| 66 | arm,v2m-memory-map = "rs1"; | ||
| 67 | }; | ||
| 68 | }; | ||
diff --git a/arch/arm/mach-vexpress/Makefile.boot b/arch/arm/mach-vexpress/Makefile.boot index 318d308dfb93..38dbaac63349 100644 --- a/arch/arm/mach-vexpress/Makefile.boot +++ b/arch/arm/mach-vexpress/Makefile.boot | |||
| @@ -7,4 +7,5 @@ initrd_phys-y := 0x60800000 | |||
| 7 | dtb-$(CONFIG_ARCH_VEXPRESS_DT) += vexpress-v2p-ca5s.dtb \ | 7 | dtb-$(CONFIG_ARCH_VEXPRESS_DT) += vexpress-v2p-ca5s.dtb \ |
| 8 | vexpress-v2p-ca9.dtb \ | 8 | vexpress-v2p-ca9.dtb \ |
| 9 | vexpress-v2p-ca15-tc1.dtb \ | 9 | vexpress-v2p-ca15-tc1.dtb \ |
| 10 | vexpress-v2p-ca15_a7.dtb | 10 | vexpress-v2p-ca15_a7.dtb \ |
| 11 | xenvm-4.2.dtb | ||
diff --git a/arch/arm/mach-vexpress/v2m.c b/arch/arm/mach-vexpress/v2m.c index 37608f22ee31..0a79b085ceaf 100644 --- a/arch/arm/mach-vexpress/v2m.c +++ b/arch/arm/mach-vexpress/v2m.c | |||
| @@ -658,6 +658,7 @@ static void __init v2m_dt_init(void) | |||
| 658 | 658 | ||
| 659 | const static char *v2m_dt_match[] __initconst = { | 659 | const static char *v2m_dt_match[] __initconst = { |
| 660 | "arm,vexpress", | 660 | "arm,vexpress", |
| 661 | "xen,xenvm", | ||
| 661 | NULL, | 662 | NULL, |
| 662 | }; | 663 | }; |
| 663 | 664 | ||
