[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH V1 0/2] Add ability to handle nodes with interrupts-extended property
From: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx> Hello, all. The purpose of this small series is to add minimal required support for Xen to be able to handle device-tree nodes with "interrupts-extended" property [1]. The "interrupts-extended" property is a special form for use when a node needs to reference multiple interrupt parents. But, there are cases when "interrupts-extended" property is used for "outside /soc node" with a single interrupt parent as an equivalent of pairs ("interrupt-parent" + "interrupts"). ---------- Tested on R-Car Gen2 based board using current staging (commit 91f86f8634f99abd8f242943e62452211a09fa0a). Log (with debug enabled) shows that Xen recognized ARCH timer interrupts represented with "interrupts-extended" property: timer { compatible = "arm,armv7-timer"; interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; }; Xen 4.13-unstable (XEN) Xen version 4.13-unstable (otyshchenko@) (arm-linux-gnueabi-gcc (Linaro GCC 7.3-2018.05) 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701]) debug=y Tue May 21 17:08:47 E9 (XEN) Latest ChangeSet: Thu Feb 2 11:59:05 2017 +0200 git:85faf88 (XEN) build-id: f0739ad25a57b50d508afd5e22e93af3d052acbf (XEN) Processor: 413fc0f2: "ARM Limited", variant: 0x3, part 0xc0f, rev 0x2 (XEN) 32-bit Execution: (XEN) Processor Features: 00001131:00011011 (XEN) Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle (XEN) Extensions: GenericTimer Security (XEN) Debug Features: 02010555 (XEN) Auxiliary Features: 00000000 (XEN) Memory Model Features: 10201105 40000000 01240000 02102211 (XEN) ISA Features: 02101110 13112111 21232041 11112131 10011142 00000000 (XEN) Using SMC Calling Convention v1.0 (XEN) Using PSCI v1.0 (XEN) SMP: Allowing 8 CPUs (XEN) dt_device_get_raw_irq: dev=/timer, index=0 (XEN) using 'interrupts-extended' property (XEN) intspec=1 intsize=3 (XEN) dt_irq_map_raw: par=/soc/interrupt-controller@f1001000,intspec=[0x00000001 0x0000000d...],ointsize=3 (XEN) dt_irq_map_raw: ipar=/soc/interrupt-controller@f1001000, size=3 (XEN) -> addrsize=0 (XEN) -> got it ! (XEN) dt_device_get_raw_irq: dev=/timer, index=1 (XEN) using 'interrupts-extended' property (XEN) intspec=1 intsize=3 (XEN) dt_irq_map_raw: par=/soc/interrupt-controller@f1001000,intspec=[0x00000001 0x0000000e...],ointsize=3 (XEN) dt_irq_map_raw: ipar=/soc/interrupt-controller@f1001000, size=3 (XEN) -> addrsize=0 (XEN) -> got it ! (XEN) dt_device_get_raw_irq: dev=/timer, index=2 (XEN) using 'interrupts-extended' property (XEN) intspec=1 intsize=3 (XEN) dt_irq_map_raw: par=/soc/interrupt-controller@f1001000,intspec=[0x00000001 0x0000000b...],ointsize=3 (XEN) dt_irq_map_raw: ipar=/soc/interrupt-controller@f1001000, size=3 (XEN) -> addrsize=0 (XEN) -> got it ! (XEN) dt_device_get_raw_irq: dev=/timer, index=3 (XEN) using 'interrupts-extended' property (XEN) intspec=1 intsize=3 (XEN) dt_irq_map_raw: par=/soc/interrupt-controller@f1001000,intspec=[0x00000001 0x0000000a...],ointsize=3 (XEN) dt_irq_map_raw: ipar=/soc/interrupt-controller@f1001000, size=3 (XEN) -> addrsize=0 (XEN) -> got it ! (XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 10000 KHz ---------- [1] https://elixir.bootlin.com/linux/v5.2-rc1/source/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt Oleksandr Tyshchenko (2): xen/device-tree: Add dt_count_phandle_with_args helper xen/device-tree: Add ability to handle nodes with interrupts-extended prop xen/common/device_tree.c | 43 ++++++++++++++++++++++++++++++++++++++++--- xen/include/xen/device_tree.h | 19 +++++++++++++++++++ 2 files changed, 59 insertions(+), 3 deletions(-) -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |