summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Rossi <nathan@nathanrossi.com>2016-09-21 00:09:21 +1000
committerNathan Rossi <nathan@nathanrossi.com>2016-10-11 21:10:40 +1000
commit2147f108ef9cfbdb83304c08dc511df4286ded9c (patch)
treebdfbbeb4939d4213f159ea42f960eefb402926a8
parenteff4a495cbafd787d39ab5afb75f1525e7685ec7 (diff)
downloadmeta-xilinx-2147f108ef9cfbdb83304c08dc511df4286ded9c.tar.gz
machine-xilinx-qemu.inc: Move common runqemu setup to include
Move the common setup for QEMU machines into an include call 'machine-xilinx-qemu.inc'. This include is added to any machine that has a QEMU model. It sets up common QB_* values as well as inheriting the qemuboot class and adding the EXTRA_IMAGEDEPENDS on qemu-native. This include also has helper functions to automatically determine the DTB from KERNEL_DEVICETREE/MACHINE_DEVICETREE and automatically setup the 'console=' kernel command line based on SERIAL_CONSOLE. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
-rw-r--r--conf/machine/ep108-zynqmp.conf11
-rw-r--r--conf/machine/include/machine-xilinx-qemu.inc35
-rw-r--r--conf/machine/qemumicroblaze-s3adsp1800.conf9
-rw-r--r--conf/machine/qemumicroblaze.conf9
-rw-r--r--conf/machine/qemuzynq.conf10
-rw-r--r--conf/machine/zcu102-zynqmp.conf11
6 files changed, 45 insertions, 40 deletions
diff --git a/conf/machine/ep108-zynqmp.conf b/conf/machine/ep108-zynqmp.conf
index 2eabecf3..3b08248e 100644
--- a/conf/machine/ep108-zynqmp.conf
+++ b/conf/machine/ep108-zynqmp.conf
@@ -5,12 +5,10 @@
5require conf/machine/include/tune-zynqmp.inc 5require conf/machine/include/tune-zynqmp.inc
6require conf/machine/include/machine-xilinx-default.inc 6require conf/machine/include/machine-xilinx-default.inc
7require conf/machine/include/machine-xilinx-board.inc 7require conf/machine/include/machine-xilinx-board.inc
8require conf/machine/include/machine-xilinx-qemu.inc
8 9
9MACHINE_FEATURES = "" 10MACHINE_FEATURES = ""
10 11
11# This machine has a qemu machine model
12EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
13
14SERIAL_CONSOLE = "115200 ttyPS0" 12SERIAL_CONSOLE = "115200 ttyPS0"
15 13
16KERNEL_DEVICETREE = "xilinx/zynqmp-ep108.dtb" 14KERNEL_DEVICETREE = "xilinx/zynqmp-ep108.dtb"
@@ -21,15 +19,10 @@ UBOOT_ENTRYPOINT = "0x80000"
21 19
22EXTRA_IMAGEDEPENDS += "arm-trusted-firmware" 20EXTRA_IMAGEDEPENDS += "arm-trusted-firmware"
23 21
24# For runqemu 22# This machine has a QEMU model, runqemu setup:
25IMAGE_CLASSES += "qemuboot"
26QB_SYSTEM_NAME = "qemu-system-aarch64"
27QB_MACHINE = "-machine xlnx-ep108" 23QB_MACHINE = "-machine xlnx-ep108"
28QB_MEM = "-m 2048" 24QB_MEM = "-m 2048"
29QB_DTB = "${KERNEL_IMAGETYPE}-${@os.path.splitext(os.path.basename(d.getVar("KERNEL_DEVICETREE",True)))[0]}.dtb"
30QB_OPT_APPEND = "-nographic -serial mon:stdio -serial null" 25QB_OPT_APPEND = "-nographic -serial mon:stdio -serial null"
31QB_DEFAULT_FSTYPE = "cpio"
32QB_KERNEL_CMDLINE_APPEND = "console=ttyPS0"
33QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -net nic,netdev=net0,macaddr=@MAC@" 26QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -net nic,netdev=net0,macaddr=@MAC@"
34QB_SLIRP_OPT = "-netdev user,id=net0 -net nic,netdev=net0" 27QB_SLIRP_OPT = "-netdev user,id=net0 -net nic,netdev=net0"
35 28
diff --git a/conf/machine/include/machine-xilinx-qemu.inc b/conf/machine/include/machine-xilinx-qemu.inc
new file mode 100644
index 00000000..25bf7dec
--- /dev/null
+++ b/conf/machine/include/machine-xilinx-qemu.inc
@@ -0,0 +1,35 @@
1EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
2
3def qemu_default_dtb(d):
4 if d.getVar("MACHINE_DEVICETREE", True):
5 dtbs = d.getVar("MACHINE_DEVICETREE", True).split(" ")
6 dtbs = [os.path.splitext(os.path.basename(d)) for d in dtbs]
7 dtbs = ["%s.dtb" % name for name, ext in dtbs if ext == ".dts" or ext == ".dtb"]
8 return dtbs[0] if dtbs else ""
9 elif d.getVar("KERNEL_DEVICETREE", True):
10 dtbs = d.getVar("KERNEL_DEVICETREE", True).split(" ")
11 dtbs = [os.path.basename(d) for d in dtbs]
12 return d.getVar("KERNEL_IMAGETYPE", True) + "-" + (dtbs[0] if dtbs else "")
13 return ""
14
15def qemu_default_serial(d):
16 if d.getVar("SERIAL_CONSOLE", True):
17 speed, console = d.getVar("SERIAL_CONSOLE", True).split(" ", 1)
18 return "console=%s,%s earlyprintk" % (console, speed)
19 return ""
20
21def qemu_target_binary(d):
22 ta = d.getVar("TARGET_ARCH", True)
23 if ta == "microblazeeb":
24 ta = "microblaze"
25 elif ta == "arm":
26 ta = "aarch64"
27 return "qemu-system-%s" % ta
28
29# For runqemu, default setup across all machines in meta-xilinx
30IMAGE_CLASSES += "qemuboot"
31QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
32QB_DEFAULT_FSTYPE ?= "cpio"
33QB_DTB ?= "${@qemu_default_dtb(d)}"
34QB_KERNEL_CMDLINE_APPEND ?= "${@qemu_default_serial(d)}"
35
diff --git a/conf/machine/qemumicroblaze-s3adsp1800.conf b/conf/machine/qemumicroblaze-s3adsp1800.conf
index 65a85003..4eb5061f 100644
--- a/conf/machine/qemumicroblaze-s3adsp1800.conf
+++ b/conf/machine/qemumicroblaze-s3adsp1800.conf
@@ -4,26 +4,21 @@
4 4
5require conf/machine/include/tune-microblaze.inc 5require conf/machine/include/tune-microblaze.inc
6require conf/machine/include/machine-xilinx-default.inc 6require conf/machine/include/machine-xilinx-default.inc
7require conf/machine/include/machine-xilinx-qemu.inc
7 8
8TUNE_FEATURES_tune-microblaze += "v7.30 big-endian barrel-shift pattern-compare multiply-low" 9TUNE_FEATURES_tune-microblaze += "v7.30 big-endian barrel-shift pattern-compare multiply-low"
9 10
10MACHINE_FEATURES = "" 11MACHINE_FEATURES = ""
11 12
12EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
13
14USE_VT = "" 13USE_VT = ""
15SERIAL_CONSOLE = "115200 ttyUL0" 14SERIAL_CONSOLE = "115200 ttyUL0"
16 15
17MACHINE_ESSENTIAL_EXTRA_RDEPENDS_remove = "device-tree" 16MACHINE_ESSENTIAL_EXTRA_RDEPENDS_remove = "device-tree"
18 17
19# For runqemu 18# This machine is a targeting a QEMU model, runqemu setup:
20IMAGE_CLASSES += "qemuboot"
21QB_SYSTEM_NAME = "qemu-system-microblaze"
22QB_MEM = "-m 256" 19QB_MEM = "-m 256"
23QB_MACHINE = "-machine petalogix-s3adsp1800" 20QB_MACHINE = "-machine petalogix-s3adsp1800"
24QB_OPT_APPEND = "-nographic -serial mon:stdio" 21QB_OPT_APPEND = "-nographic -serial mon:stdio"
25QB_DEFAULT_FSTYPE = "cpio"
26QB_KERNEL_CMDLINE_APPEND = "console=ttyUL0 earlyprintk"
27QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -net nic,netdev=net0,macaddr=@MAC@" 22QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -net nic,netdev=net0,macaddr=@MAC@"
28QB_SLIRP_OPT = "-netdev user,id=net0 -net nic,netdev=net0" 23QB_SLIRP_OPT = "-netdev user,id=net0 -net nic,netdev=net0"
29 24
diff --git a/conf/machine/qemumicroblaze.conf b/conf/machine/qemumicroblaze.conf
index 067b6d0c..6fca065e 100644
--- a/conf/machine/qemumicroblaze.conf
+++ b/conf/machine/qemumicroblaze.conf
@@ -4,27 +4,22 @@
4 4
5require conf/machine/include/tune-microblaze.inc 5require conf/machine/include/tune-microblaze.inc
6require conf/machine/include/machine-xilinx-default.inc 6require conf/machine/include/machine-xilinx-default.inc
7require conf/machine/include/machine-xilinx-qemu.inc
7 8
8TUNE_FEATURES_tune-microblaze += "v8.50 little-endian barrel-shift reorder pattern-compare divide-hard multiply-high fpu-hard" 9TUNE_FEATURES_tune-microblaze += "v8.50 little-endian barrel-shift reorder pattern-compare divide-hard multiply-high fpu-hard"
9 10
10MACHINE_FEATURES = "" 11MACHINE_FEATURES = ""
11 12
12EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
13
14USE_VT = "" 13USE_VT = ""
15SERIAL_CONSOLE = "115200 ttyS0" 14SERIAL_CONSOLE = "115200 ttyS0"
16 15
17# Use the networking setup from qemuarm 16# Use the networking setup from qemuarm
18FILESOVERRIDES_append_pn-init-ifupdown = ":qemuarm" 17FILESOVERRIDES_append_pn-init-ifupdown = ":qemuarm"
19 18
20# For runqemu 19# This machine is a targeting a QEMU model, runqemu setup:
21IMAGE_CLASSES += "qemuboot"
22QB_SYSTEM_NAME = "qemu-system-microblazeel"
23QB_MEM = "-m 256" 20QB_MEM = "-m 256"
24QB_MACHINE = "-machine petalogix-ml605" 21QB_MACHINE = "-machine petalogix-ml605"
25QB_OPT_APPEND = "-nographic -serial mon:stdio" 22QB_OPT_APPEND = "-nographic -serial mon:stdio"
26QB_DEFAULT_FSTYPE = "cpio"
27QB_KERNEL_CMDLINE_APPEND = "console=ttyS0 earlyprintk"
28QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -net nic,netdev=net0,macaddr=@MAC@" 23QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -net nic,netdev=net0,macaddr=@MAC@"
29QB_SLIRP_OPT = "-netdev user,id=net0 -net nic,netdev=net0" 24QB_SLIRP_OPT = "-netdev user,id=net0 -net nic,netdev=net0"
30 25
diff --git a/conf/machine/qemuzynq.conf b/conf/machine/qemuzynq.conf
index e9767d98..70ea9e0e 100644
--- a/conf/machine/qemuzynq.conf
+++ b/conf/machine/qemuzynq.conf
@@ -4,11 +4,10 @@
4 4
5require conf/machine/include/tune-zynq.inc 5require conf/machine/include/tune-zynq.inc
6require conf/machine/include/machine-xilinx-default.inc 6require conf/machine/include/machine-xilinx-default.inc
7require conf/machine/include/machine-xilinx-qemu.inc
7 8
8MACHINE_FEATURES = "ext2 vfat" 9MACHINE_FEATURES = "ext2 vfat"
9 10
10EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
11
12SERIAL_CONSOLE = "115200 ttyPS0" 11SERIAL_CONSOLE = "115200 ttyPS0"
13 12
14MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree" 13MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree"
@@ -17,15 +16,10 @@ MACHINE_DEVICETREE = "qemu/qemuzynq.dts"
17# Use the networking setup from qemuarm 16# Use the networking setup from qemuarm
18FILESOVERRIDES_append_pn-init-ifupdown = ":qemuarm" 17FILESOVERRIDES_append_pn-init-ifupdown = ":qemuarm"
19 18
20# For runqemu 19# This machine is a targeting a QEMU model, runqemu setup:
21IMAGE_CLASSES += "qemuboot"
22QB_SYSTEM_NAME = "qemu-system-arm"
23QB_MEM = "-m 1024" 20QB_MEM = "-m 1024"
24QB_MACHINE = "-machine xilinx-zynq-a9" 21QB_MACHINE = "-machine xilinx-zynq-a9"
25QB_DTB = "${MACHINE}.dtb"
26QB_OPT_APPEND = "-nographic -serial null -serial mon:stdio" 22QB_OPT_APPEND = "-nographic -serial null -serial mon:stdio"
27QB_DEFAULT_FSTYPE = "cpio"
28QB_KERNEL_CMDLINE_APPEND = "console=ttyPS0"
29QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -net nic,netdev=net0,macaddr=@MAC@" 23QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -net nic,netdev=net0,macaddr=@MAC@"
30QB_SLIRP_OPT = "-netdev user,id=net0 -net nic,netdev=net0" 24QB_SLIRP_OPT = "-netdev user,id=net0 -net nic,netdev=net0"
31 25
diff --git a/conf/machine/zcu102-zynqmp.conf b/conf/machine/zcu102-zynqmp.conf
index f762922a..a38ac4ac 100644
--- a/conf/machine/zcu102-zynqmp.conf
+++ b/conf/machine/zcu102-zynqmp.conf
@@ -6,12 +6,10 @@
6require conf/machine/include/tune-zynqmp.inc 6require conf/machine/include/tune-zynqmp.inc
7require conf/machine/include/machine-xilinx-default.inc 7require conf/machine/include/machine-xilinx-default.inc
8require conf/machine/include/machine-xilinx-board.inc 8require conf/machine/include/machine-xilinx-board.inc
9require conf/machine/include/machine-xilinx-qemu.inc
9 10
10MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost mali" 11MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost mali"
11 12
12# This machine has a qemu machine model
13EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
14
15UBOOT_MACHINE = "xilinx_zynqmp_zcu102_revB_defconfig" 13UBOOT_MACHINE = "xilinx_zynqmp_zcu102_revB_defconfig"
16 14
17SERIAL_CONSOLE = "115200 ttyPS0" 15SERIAL_CONSOLE = "115200 ttyPS0"
@@ -25,15 +23,10 @@ EXTRA_IMAGEDEPENDS += "\
25 arm-trusted-firmware \ 23 arm-trusted-firmware \
26 " 24 "
27 25
28# For runqemu 26# This machine has a QEMU model, runqemu setup:
29IMAGE_CLASSES += "qemuboot"
30QB_SYSTEM_NAME = "qemu-system-aarch64"
31QB_MACHINE = "-machine xlnx-zcu102" 27QB_MACHINE = "-machine xlnx-zcu102"
32QB_MEM = "-m 2048" 28QB_MEM = "-m 2048"
33QB_DTB = "${KERNEL_IMAGETYPE}-${@os.path.splitext(os.path.basename(d.getVar("KERNEL_DEVICETREE",True)))[0]}.dtb"
34QB_OPT_APPEND = "-nographic -serial mon:stdio -serial null" 29QB_OPT_APPEND = "-nographic -serial mon:stdio -serial null"
35QB_DEFAULT_FSTYPE = "cpio"
36QB_KERNEL_CMDLINE_APPEND = "console=ttyPS0"
37QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -net nic -net nic -net nic -net nic,netdev=net0,macaddr=@MAC@" 30QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no -net nic -net nic -net nic -net nic,netdev=net0,macaddr=@MAC@"
38QB_SLIRP_OPT = "-netdev user,id=net0 -net nic -net nic -net nic -net nic,netdev=net0" 31QB_SLIRP_OPT = "-netdev user,id=net0 -net nic -net nic -net nic -net nic,netdev=net0"
39 32