diff options
Diffstat (limited to 'classes')
-rw-r--r-- | classes/qemuboot-xen-dtb.bbclass | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/classes/qemuboot-xen-dtb.bbclass b/classes/qemuboot-xen-dtb.bbclass index d43d23a3..1f17a869 100644 --- a/classes/qemuboot-xen-dtb.bbclass +++ b/classes/qemuboot-xen-dtb.bbclass | |||
@@ -63,6 +63,21 @@ write_lops_xen_section() { | |||
63 | EOF | 63 | EOF |
64 | } | 64 | } |
65 | 65 | ||
66 | write_lop_rm_pci() { | ||
67 | cat <<EOF >"$1" | ||
68 | /dts-v1/; | ||
69 | / { | ||
70 | compatible = "system-device-tree-v1"; | ||
71 | lops { | ||
72 | lop_1 { | ||
73 | compatible = "system-device-tree-v1,lop,modify"; | ||
74 | modify = "/pcie@10000000::"; | ||
75 | }; | ||
76 | }; | ||
77 | }; | ||
78 | EOF | ||
79 | } | ||
80 | |||
66 | write_lop_add_to_xen_cmdline() { | 81 | write_lop_add_to_xen_cmdline() { |
67 | EXTRA_XEN_BOOTARGS="$2" | 82 | EXTRA_XEN_BOOTARGS="$2" |
68 | cat <<EOF >"$1" | 83 | cat <<EOF >"$1" |
@@ -135,6 +150,13 @@ generate_xen_qemuboot_dtb() { | |||
135 | write_lop_add_to_xen_cmdline "${B}/lop-xen-cmdline.dts" \ | 150 | write_lop_add_to_xen_cmdline "${B}/lop-xen-cmdline.dts" \ |
136 | "${QB_XEN_CMDLINE_EXTRA}" | 151 | "${QB_XEN_CMDLINE_EXTRA}" |
137 | 152 | ||
153 | # On Qemu Arm32, Dom0 accessing PCI config space ends up in an | ||
154 | # infinite loop. Remove pci node from the device tree | ||
155 | if [ "${MACHINE}" = "qemuarm" ]; then | ||
156 | write_lop_rm_pci "${B}/lop-rm-pci.dts" | ||
157 | LOP_MODULE_ARGS="${LOP_MODULE_ARGS} -i ${B}/lop-rm-pci.dts" | ||
158 | fi | ||
159 | |||
138 | if [ -z "${QB_XEN_DOMAIN_MODULES}" ]; then | 160 | if [ -z "${QB_XEN_DOMAIN_MODULES}" ]; then |
139 | bbwarn "No domain modules: please set QB_XEN_DOMAIN_MODULES" | 161 | bbwarn "No domain modules: please set QB_XEN_DOMAIN_MODULES" |
140 | fi | 162 | fi |