Compare commits
4 Commits
fix/qemu_r
...
master
Author | SHA1 | Date |
---|---|---|
|
69ff9286df | |
|
3dd421ed77 | |
![]() |
40e843aa5d | |
![]() |
d0d6b67a7b |
|
@ -47,7 +47,7 @@ struct config config = {
|
|||
}
|
||||
},
|
||||
|
||||
.dev_num = 2,
|
||||
.dev_num = 3,
|
||||
.devs = (struct vm_dev_region[]) {
|
||||
{
|
||||
/* GENET */
|
||||
|
@ -62,7 +62,15 @@ struct config config = {
|
|||
.interrupt_num = 1,
|
||||
.interrupts =
|
||||
(irqid_t[]) {27}
|
||||
}
|
||||
},
|
||||
{
|
||||
/* USB */
|
||||
.pa = 0xfe980000,
|
||||
.va = 0xfe980000,
|
||||
.size = 0x10000,
|
||||
.interrupt_num = 1,
|
||||
.interrupts = (irqid_t[]) {15}
|
||||
},
|
||||
},
|
||||
|
||||
.arch = {
|
||||
|
|
|
@ -15,7 +15,6 @@ struct config config = {
|
|||
.vmlist_size = 2,
|
||||
.vmlist = {
|
||||
{
|
||||
|
||||
.image = {
|
||||
.base_addr = 0x00200000,
|
||||
.load_addr = VM_IMAGE_OFFSET(linux_image),
|
||||
|
@ -25,13 +24,13 @@ struct config config = {
|
|||
.entry = 0x00200000,
|
||||
|
||||
.platform = {
|
||||
.cpu_num = 3,
|
||||
.cpu_num = 2,
|
||||
|
||||
.region_num = 1,
|
||||
.regions = (struct vm_mem_region[]) {
|
||||
{
|
||||
.base = 0x00000000,
|
||||
.size = 0x40000000
|
||||
.size = 0x20000000
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -46,7 +45,7 @@ struct config config = {
|
|||
}
|
||||
},
|
||||
|
||||
.dev_num = 3,
|
||||
.dev_num = 2,
|
||||
.devs = (struct vm_dev_region[]) {
|
||||
{
|
||||
/* UART1 */
|
||||
|
@ -63,6 +62,65 @@ struct config config = {
|
|||
.interrupts =
|
||||
(irqid_t[]) {27}
|
||||
},
|
||||
},
|
||||
|
||||
.arch = {
|
||||
.gic = {
|
||||
.gicc_addr = 0xF9020000,
|
||||
.gicd_addr = 0xF9010000
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
.image = {
|
||||
.base_addr = 0x00200000,
|
||||
.load_addr = VM_IMAGE_OFFSET(freertos_image),
|
||||
.size = VM_IMAGE_SIZE(freertos_image)
|
||||
},
|
||||
|
||||
.entry = 0x00200000,
|
||||
|
||||
.platform = {
|
||||
.cpu_num = 2,
|
||||
|
||||
.region_num = 1,
|
||||
.regions = (struct vm_mem_region[]) {
|
||||
{
|
||||
.base = 0x00000000,
|
||||
.size = 0x20000000
|
||||
}
|
||||
},
|
||||
|
||||
.ipc_num = 1,
|
||||
.ipcs = (struct ipc[]) {
|
||||
{
|
||||
.base = 0x70000000,
|
||||
.size = 0x00010000,
|
||||
.shmem_id = 0,
|
||||
.interrupt_num = 1,
|
||||
.interrupts = (irqid_t[]) {52}
|
||||
}
|
||||
},
|
||||
|
||||
.dev_num = 3,
|
||||
.devs = (struct vm_dev_region[]) {
|
||||
{
|
||||
/* UART0 */
|
||||
.pa = 0xFF000000,
|
||||
.va = 0xFF000000,
|
||||
.size = 0x1000,
|
||||
.interrupt_num = 1,
|
||||
.interrupts =
|
||||
(irqid_t[]) {53}
|
||||
},
|
||||
{
|
||||
/* Arch timer interrupt */
|
||||
.interrupt_num = 1,
|
||||
.interrupts =
|
||||
(irqid_t[]) {27}
|
||||
},
|
||||
{
|
||||
/* GEM3 */
|
||||
.id = 0x877, /* smmu stream id */
|
||||
|
@ -75,71 +133,14 @@ struct config config = {
|
|||
},
|
||||
},
|
||||
|
||||
.arch = {
|
||||
.gic = {
|
||||
.gicc_addr = 0xF9020000,
|
||||
.gicd_addr = 0xF9010000
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
.image = {
|
||||
.base_addr = 0x0,
|
||||
.load_addr = VM_IMAGE_OFFSET(freertos_image),
|
||||
.size = VM_IMAGE_SIZE(freertos_image)
|
||||
},
|
||||
|
||||
.entry = 0x0,
|
||||
|
||||
.platform = {
|
||||
.cpu_num = 1,
|
||||
|
||||
.region_num = 1,
|
||||
.regions = (struct vm_mem_region[]) {
|
||||
{
|
||||
.base = 0x0,
|
||||
.size = 0x8000000
|
||||
}
|
||||
},
|
||||
|
||||
.ipc_num = 1,
|
||||
.ipcs = (struct ipc[]) {
|
||||
{
|
||||
.base = 0x70000000,
|
||||
.size = 0x00010000,
|
||||
.shmem_id = 0,
|
||||
.interrupt_num = 1,
|
||||
.interrupts = (irqid_t[]) {52}
|
||||
}
|
||||
},
|
||||
|
||||
.dev_num = 2,
|
||||
.devs = (struct vm_dev_region[]) {
|
||||
{
|
||||
/* UART0 */
|
||||
.pa = 0xFF000000,
|
||||
.va = 0xFF000000,
|
||||
.size = 0x10000,
|
||||
.interrupt_num = 1,
|
||||
.interrupts =
|
||||
(irqid_t[]) {53}
|
||||
},
|
||||
{
|
||||
/* Arch timer interrupt */
|
||||
.interrupt_num = 1,
|
||||
.interrupts =
|
||||
(irqid_t[]) {27}
|
||||
}
|
||||
},
|
||||
|
||||
.arch = {
|
||||
.gic = {
|
||||
.gicd_addr = 0xF9010000,
|
||||
.gicc_addr = 0xF9020000,
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
};
|
||||
|
|
|
@ -68,6 +68,18 @@
|
|||
interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>;
|
||||
};
|
||||
|
||||
usbphy: phy {
|
||||
compatible = "usb-nop-xceiv";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
clk_usb: clk-usb {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "otg";
|
||||
clock-frequency = <480000000>;
|
||||
};
|
||||
|
||||
scb@7c000000 {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <0x02>;
|
||||
|
@ -101,8 +113,24 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb: usb@7e980000 {
|
||||
compatible = "brcm,bcm2835-usb";
|
||||
reg = <0x00 0x7e980000 0x00 0x10000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
status = "okay";
|
||||
interrupts = <0 73 4>;
|
||||
|
||||
clocks = <&clk_usb>;
|
||||
clock-names = "otg";
|
||||
phys = <&usbphy>;
|
||||
phy-names = "usb2-phy";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
bao-ipc@f0000000 {
|
||||
compatible = "bao,ipcshmem";
|
||||
reg = <0x0 0xf0000000 0x0 0x00010000>;
|
||||
|
@ -112,12 +140,15 @@
|
|||
id = <0>;
|
||||
};
|
||||
|
||||
|
||||
|
||||
aliases {
|
||||
ethernet0 = &genet;
|
||||
usb0 = &usb;
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "earlycon clk_ignore_unused ip=192.168.42.15 carrier_timeout=0";
|
||||
bootargs = "earlycon clk_ignore_unused ip=192.168.42.15 carrier_timeout=0";
|
||||
};
|
||||
|
||||
};
|
||||
|
|
|
@ -23,12 +23,6 @@
|
|||
reg = <0x1>;
|
||||
};
|
||||
|
||||
cpu@2 {
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
device_type = "cpu";
|
||||
enable-method = "psci";
|
||||
reg = <0x2>;
|
||||
};
|
||||
};
|
||||
|
||||
psci {
|
||||
|
@ -38,7 +32,7 @@
|
|||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x0 0x0 0x40000000>;
|
||||
reg = <0x0 0x0 0x0 0x20000000>;
|
||||
};
|
||||
|
||||
gic: interrupt-controller@f9010000 {
|
||||
|
@ -64,13 +58,8 @@
|
|||
phandle = <0x1>;
|
||||
};
|
||||
|
||||
ethclk: ethclk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0x0>;
|
||||
clock-frequency = <125000000>;
|
||||
phandle = <0x2>;
|
||||
};
|
||||
|
||||
|
||||
|
||||
amba {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <0x2>;
|
||||
|
@ -87,27 +76,7 @@
|
|||
clocks = <&uartclk &uartclk>;
|
||||
};
|
||||
|
||||
ethernet@ff0e0000 {
|
||||
compatible = "cdns,zynqmp-gem", "cdns,gem";
|
||||
status = "okay";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0x0 0x3f 0x4 0x0 0x3f 0x4>;
|
||||
reg = <0x0 0xff0e0000 0x0 0x1000>;
|
||||
clock-names = "pclk", "hclk", "tx_clk", "rx_clk";
|
||||
phy-mode = "rgmii-id";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
clocks = <ðclk ðclk ðclk ðclk>;
|
||||
phy-handle = <&phy>;
|
||||
|
||||
phy: phy@c {
|
||||
reg = <0xc>;
|
||||
ti,rx-internal-delay = <0x8>;
|
||||
ti,tx-internal-delay = <0xa>;
|
||||
ti,fifo-depth = <0x1>;
|
||||
ti,dp83867-rxctrl-strap-quirk;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
zynqmp_phy@fd400000 {
|
||||
compatible = "xlnx,zynqmp-psgtr-v1.1";
|
||||
|
@ -143,7 +112,7 @@
|
|||
};
|
||||
|
||||
aliases {
|
||||
ethernet0 = "/amba/ethernet@ff0e0000";
|
||||
|
||||
serial0 = "/amba/serial@ff010000";
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,150 @@
|
|||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
#address-cells = <0x2>;
|
||||
#size-cells = <0x2>;
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
cpus {
|
||||
#size-cells = <0x0>;
|
||||
#address-cells = <0x1>;
|
||||
|
||||
cpu@0 {
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
device_type = "cpu";
|
||||
enable-method = "psci";
|
||||
reg = <0x0>;
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
device_type = "cpu";
|
||||
enable-method = "psci";
|
||||
reg = <0x1>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-0.2";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x0 0x0 0x20000000>;
|
||||
};
|
||||
|
||||
gic: interrupt-controller@f9010000 {
|
||||
compatible = "arm,gic-400", "arm,cortex-a15-gic";
|
||||
#interrupt-cells = <0x3>;
|
||||
reg = <0x0 0xf9010000 0x0 0x10000 0x0 0xf9020000 0x0 0x20000 0x0 0xf9040000 0x0 0x20000 0x0 0xf9060000 0x0 0x20000>;
|
||||
interrupt-controller;
|
||||
interrupt-parent = <0x4>;
|
||||
interrupts = <0x1 0x9 0xf04>;
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
always-on;
|
||||
interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>;
|
||||
};
|
||||
|
||||
|
||||
uartclk: uartclk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0x0>;
|
||||
clock-frequency = <100000000>;
|
||||
phandle = <0x1>;
|
||||
};
|
||||
|
||||
ethclk: ethclk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0x0>;
|
||||
clock-frequency = <125000000>;
|
||||
phandle = <0x2>;
|
||||
};
|
||||
|
||||
amba {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <0x2>;
|
||||
#size-cells = <0x2>;
|
||||
ranges;
|
||||
|
||||
serial@ff000000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
compatible = "cdns,uart-r1p12", "xlnx,xuartps";
|
||||
status = "okay";
|
||||
interrupts = <0x0 0x16 0x4>;
|
||||
reg = <0x0 0xff000000 0x0 0x1000>;
|
||||
clock-names = "uart_clk", "pclk";
|
||||
clocks = <&uartclk &uartclk>;
|
||||
};
|
||||
|
||||
|
||||
ethernet@ff0e0000 {
|
||||
compatible = "cdns,zynqmp-gem", "cdns,gem";
|
||||
status = "okay";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0x0 0x3f 0x4 0x0 0x3f 0x4>;
|
||||
reg = <0x0 0xff0e0000 0x0 0x1000>;
|
||||
clock-names = "pclk", "hclk", "tx_clk", "rx_clk";
|
||||
phy-mode = "rgmii-id";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
clocks = <ðclk ðclk ðclk ðclk>;
|
||||
phy-handle = <&phy>;
|
||||
|
||||
phy: phy@c {
|
||||
reg = <0xc>;
|
||||
ti,rx-internal-delay = <0x8>;
|
||||
ti,tx-internal-delay = <0xa>;
|
||||
ti,fifo-depth = <0x1>;
|
||||
ti,dp83867-rxctrl-strap-quirk;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
zynqmp_phy@fd400000 {
|
||||
compatible = "xlnx,zynqmp-psgtr-v1.1";
|
||||
status = "disabled";
|
||||
reg = <0x0 0xfd400000 0x0 0x40000 0x0 0xfd3d0000 0x0 0x1000>;
|
||||
reg-names = "serdes", "siou";
|
||||
|
||||
lane0 {
|
||||
#phy-cells = <0x4>;
|
||||
};
|
||||
|
||||
lane1 {
|
||||
#phy-cells = <0x4>;
|
||||
};
|
||||
|
||||
lane2 {
|
||||
#phy-cells = <0x4>;
|
||||
};
|
||||
|
||||
lane3 {
|
||||
#phy-cells = <0x4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
bao-ipc@70000000 {
|
||||
compatible = "bao,ipcshmem";
|
||||
reg = <0x0 0x70000000 0x0 0x00010000>;
|
||||
read-channel = <0x0 0x2000>;
|
||||
write-channel = <0x2000 0x2000>;
|
||||
interrupts = <0 52 1>;
|
||||
id = <0>;
|
||||
};
|
||||
|
||||
aliases {
|
||||
ethernet0 = "/amba/ethernet@ff0e0000";
|
||||
serial0 = "/amba/serial@ff000000";
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "earlycon console=ttyPS0,115200n8 clk_ignore_unused ip=192.168.42.16 carrier_timeout=0";
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
};
|
|
@ -5,15 +5,21 @@ linux_image=$(wrkdir_demo_imgs)/linux.bin
|
|||
linux_dts=$(bao_demos)/demos/$(DEMO)/devicetrees/$(PLATFORM)/linux.dts
|
||||
$(eval $(call build-linux, $(linux_image), $(linux_dts)))
|
||||
|
||||
freertos_image:=$(wrkdir_demo_imgs)/freertos.bin
|
||||
##the second linux
|
||||
|
||||
# linux_image2=$(wrkdir_demo_imgs)/freertos.bin
|
||||
# linux_dts2=$(bao_demos)/demos/$(DEMO)/devicetrees/$(PLATFORM)/linux2.dts
|
||||
# $(eval $(call build-linux, $(linux_image2), $(linux_dts2)))
|
||||
# guest_images:=$(linux_image) $(linux_image2)
|
||||
|
||||
|
||||
##the freertos
|
||||
freertos_image:=$(wrkdir_demo_imgs)/freertos.bin
|
||||
ifeq ($(ARCH_PROFILE),armv8-r)
|
||||
make_args:=MEM_BASE=0x10000000
|
||||
fvpr_image_data:=$(freertos_image)@0x10000000 $(linux_image)@0x20000000
|
||||
else
|
||||
make_args:=STD_ADDR_SPACE=y
|
||||
endif
|
||||
|
||||
$(eval $(call build-freertos, $(freertos_image), $(make_args)))
|
||||
|
||||
guest_images:=$(linux_image) $(freertos_image)
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
fvp-a.c
|
|
@ -0,0 +1,137 @@
|
|||
#include <config.h>
|
||||
|
||||
VM_IMAGE(linux_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/linux.bin));
|
||||
VM_IMAGE(zephyr_image, XSTR(BAO_DEMOS_WRKDIR_IMGS/zephyr.bin));
|
||||
|
||||
struct config config = {
|
||||
|
||||
.shmemlist_size = 1,
|
||||
.shmemlist = (struct shmem[]) {
|
||||
[0] = { .size = 0x00010000, }
|
||||
},
|
||||
|
||||
.vmlist_size = 2,
|
||||
.vmlist = {
|
||||
{
|
||||
.image = {
|
||||
.base_addr = 0xa0000000,
|
||||
.load_addr = VM_IMAGE_OFFSET(linux_image),
|
||||
.size = VM_IMAGE_SIZE(linux_image),
|
||||
},
|
||||
|
||||
.entry = 0xa0000000,
|
||||
|
||||
.platform = {
|
||||
.cpu_num = 2,
|
||||
|
||||
.region_num = 1,
|
||||
.regions = (struct vm_mem_region[]) {
|
||||
{
|
||||
.base = 0xa0000000,
|
||||
.size = 0x40000000,
|
||||
.place_phys = true,
|
||||
.phys = 0xa0000000,
|
||||
}
|
||||
},
|
||||
|
||||
.ipc_num = 1,
|
||||
.ipcs = (struct ipc[]) {
|
||||
{
|
||||
.base = 0xf0000000,
|
||||
.size = 0x00010000,
|
||||
.shmem_id = 0,
|
||||
.interrupt_num = 1,
|
||||
.interrupts = (irqid_t[]) {52}
|
||||
}
|
||||
},
|
||||
|
||||
.dev_num = 3,
|
||||
.devs = (struct vm_dev_region[]) {
|
||||
{
|
||||
/* UART1, PL011 */
|
||||
.pa = 0x1c0a0000,
|
||||
.va = 0x1c0a0000,
|
||||
.size = 0x10000,
|
||||
.interrupt_num = 1,
|
||||
.interrupts = (irqid_t[]) {38}
|
||||
},
|
||||
{
|
||||
/* smsc,lan91c111t */
|
||||
.pa = 0x01a000000,
|
||||
.va = 0x01a000000,
|
||||
.size = 0x10000,
|
||||
.interrupt_num = 1,
|
||||
.interrupts = (irqid_t[]) {47}
|
||||
},
|
||||
{
|
||||
.interrupt_num = 1,
|
||||
.interrupts = (irqid_t[]) {27}
|
||||
}
|
||||
},
|
||||
|
||||
.arch = {
|
||||
.gic = {
|
||||
.gicr_addr = 0x2F100000,
|
||||
.gicd_addr = 0x2F000000
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
.image = {
|
||||
.base_addr = 0x20000000,
|
||||
.load_addr = VM_IMAGE_OFFSET(zephyr_image),
|
||||
.size = VM_IMAGE_SIZE(zephyr_image)
|
||||
},
|
||||
|
||||
.entry = 0x20000000,
|
||||
|
||||
.platform = {
|
||||
.cpu_num = 2,
|
||||
|
||||
.region_num = 1,
|
||||
.regions = (struct vm_mem_region[]) {
|
||||
{
|
||||
.base = 0x20000000,
|
||||
.size = 0x8000000
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
.ipc_num = 1,
|
||||
.ipcs = (struct ipc[]) {
|
||||
{
|
||||
.base = 0x70000000,
|
||||
.size = 0x00010000,
|
||||
.shmem_id = 0,
|
||||
.interrupt_num = 1,
|
||||
.interrupts = (irqid_t[]) {52}
|
||||
}
|
||||
},
|
||||
|
||||
.dev_num = 2,
|
||||
.devs = (struct vm_dev_region[]) {
|
||||
{
|
||||
/* UART2, PL011 */
|
||||
.pa = 0x1c0b0000,
|
||||
.va = 0x9c0b0000,
|
||||
.size = 0x10000,
|
||||
.interrupt_num = 1,
|
||||
.interrupts = (irqid_t[]) {39}
|
||||
},
|
||||
{
|
||||
.interrupt_num = 1,
|
||||
.interrupts = (irqid_t[]) {27}
|
||||
}
|
||||
},
|
||||
|
||||
.arch = {
|
||||
.gic = {
|
||||
.gicd_addr = 0xaf000000,
|
||||
.gicr_addr = 0xaf100000,
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
|
@ -79,12 +79,12 @@ struct config config = {
|
|||
},
|
||||
{
|
||||
.image = {
|
||||
.base_addr = 0x20000000,
|
||||
.base_addr = 0x90000000,
|
||||
.load_addr = VM_IMAGE_OFFSET(zephyr_image),
|
||||
.size = VM_IMAGE_SIZE(zephyr_image)
|
||||
},
|
||||
|
||||
.entry = 0x20000000,
|
||||
.entry = 0x90000000,
|
||||
|
||||
.platform = {
|
||||
.cpu_num = 2,
|
||||
|
@ -92,7 +92,7 @@ struct config config = {
|
|||
.region_num = 1,
|
||||
.regions = (struct vm_mem_region[]) {
|
||||
{
|
||||
.base = 0x20000000,
|
||||
.base = 0x90000000,
|
||||
.size = 0x8000000
|
||||
}
|
||||
},
|
||||
|
@ -114,7 +114,7 @@ struct config config = {
|
|||
{
|
||||
/* UART2, PL011 */
|
||||
.pa = 0x1c0b0000,
|
||||
.va = 0x9c0b0000,
|
||||
.va = 0x1c0b0000,
|
||||
.size = 0x10000,
|
||||
.interrupt_num = 1,
|
||||
.interrupts = (irqid_t[]) {39}
|
||||
|
@ -127,8 +127,8 @@ struct config config = {
|
|||
|
||||
.arch = {
|
||||
.gic = {
|
||||
.gicd_addr = 0xaf000000,
|
||||
.gicr_addr = 0xaf100000,
|
||||
.gicd_addr = 0x2f000000,
|
||||
.gicr_addr = 0x2f100000,
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -260,6 +260,7 @@ BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS=y
|
|||
BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y
|
||||
BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y
|
||||
BR2_USE_WCHAR=y
|
||||
BR2_INSTALL_LIBSTDCPP=y
|
||||
BR2_ENABLE_LOCALE=y
|
||||
BR2_TOOLCHAIN_HAS_THREADS=y
|
||||
BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y
|
||||
|
@ -454,9 +455,9 @@ BR2_INIT_BUSYBOX=y
|
|||
# BR2_INIT_SYSTEMD is not set
|
||||
# BR2_INIT_NONE is not set
|
||||
# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set
|
||||
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
|
||||
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS is not set
|
||||
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set
|
||||
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set
|
||||
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
|
||||
BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt"
|
||||
# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set
|
||||
# BR2_ROOTFS_MERGED_USR is not set
|
||||
|
@ -810,7 +811,7 @@ BR2_PACKAGE_PTM2HUMAN_ARCH_SUPPORTS=y
|
|||
#
|
||||
# signal-estimator needs a toochain w/ C++, threads, gcc >= 7
|
||||
#
|
||||
# BR2_PACKAGE_SPIDEV_TEST is not set
|
||||
BR2_PACKAGE_SPIDEV_TEST=y
|
||||
# BR2_PACKAGE_STRACE is not set
|
||||
# BR2_PACKAGE_STRESS is not set
|
||||
# BR2_PACKAGE_STRESS_NG is not set
|
||||
|
@ -902,7 +903,7 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny"
|
|||
# BR2_PACKAGE_EXFATPROGS is not set
|
||||
# BR2_PACKAGE_F2FS_TOOLS is not set
|
||||
# BR2_PACKAGE_FIRMWARE_UTILS is not set
|
||||
# BR2_PACKAGE_FLASHBENCH is not set
|
||||
BR2_PACKAGE_FLASHBENCH=y
|
||||
# BR2_PACKAGE_FSCRYPTCTL is not set
|
||||
# BR2_PACKAGE_FUSE_OVERLAYFS is not set
|
||||
# BR2_PACKAGE_FWUP is not set
|
||||
|
@ -912,7 +913,56 @@ BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny"
|
|||
# BR2_PACKAGE_GOCRYPTFS is not set
|
||||
# BR2_PACKAGE_IMX_USB_LOADER is not set
|
||||
# BR2_PACKAGE_MMC_UTILS is not set
|
||||
# BR2_PACKAGE_MTD is not set
|
||||
BR2_PACKAGE_MTD=y
|
||||
|
||||
#
|
||||
# MTD tools selection
|
||||
#
|
||||
# BR2_PACKAGE_MTD_DOCFDISK is not set
|
||||
# BR2_PACKAGE_MTD_DOC_LOADBIOS is not set
|
||||
BR2_PACKAGE_MTD_FLASHCP=y
|
||||
BR2_PACKAGE_MTD_FLASH_ERASE=y
|
||||
BR2_PACKAGE_MTD_FLASH_LOCK=y
|
||||
BR2_PACKAGE_MTD_FLASH_OTP_DUMP=y
|
||||
BR2_PACKAGE_MTD_FLASH_OTP_INFO=y
|
||||
BR2_PACKAGE_MTD_FLASH_OTP_LOCK=y
|
||||
BR2_PACKAGE_MTD_FLASH_OTP_WRITE=y
|
||||
BR2_PACKAGE_MTD_FLASH_OTP_ERASE=y
|
||||
BR2_PACKAGE_MTD_FLASH_UNLOCK=y
|
||||
# BR2_PACKAGE_MTD_FTL_CHECK is not set
|
||||
# BR2_PACKAGE_MTD_FTL_FORMAT is not set
|
||||
# BR2_PACKAGE_MTD_JFFS2DUMP is not set
|
||||
# BR2_PACKAGE_MTD_MKFSJFFS2 is not set
|
||||
# BR2_PACKAGE_MTD_MKFSUBIFS is not set
|
||||
BR2_PACKAGE_MTD_MTD_DEBUG=y
|
||||
# BR2_PACKAGE_MTD_MTDPART is not set
|
||||
BR2_PACKAGE_MTD_NANDDUMP=y
|
||||
BR2_PACKAGE_MTD_NANDTEST=y
|
||||
BR2_PACKAGE_MTD_NANDWRITE=y
|
||||
# BR2_PACKAGE_MTD_NANDFLIPBITS is not set
|
||||
# BR2_PACKAGE_MTD_NFTLDUMP is not set
|
||||
# BR2_PACKAGE_MTD_NFTL_FORMAT is not set
|
||||
# BR2_PACKAGE_MTD_RECV_IMAGE is not set
|
||||
# BR2_PACKAGE_MTD_RFDDUMP is not set
|
||||
# BR2_PACKAGE_MTD_RFDFORMAT is not set
|
||||
# BR2_PACKAGE_MTD_SERVE_IMAGE is not set
|
||||
# BR2_PACKAGE_MTD_SUMTOOL is not set
|
||||
BR2_PACKAGE_MTD_MTDINFO=y
|
||||
BR2_PACKAGE_MTD_UBIATTACH=y
|
||||
BR2_PACKAGE_MTD_UBICRC32=y
|
||||
BR2_PACKAGE_MTD_UBIDETACH=y
|
||||
BR2_PACKAGE_MTD_UBIFORMAT=y
|
||||
BR2_PACKAGE_MTD_UBIHEALTHD=y
|
||||
BR2_PACKAGE_MTD_UBIMKVOL=y
|
||||
BR2_PACKAGE_MTD_UBINFO=y
|
||||
BR2_PACKAGE_MTD_UBINIZE=y
|
||||
BR2_PACKAGE_MTD_UBIRENAME=y
|
||||
BR2_PACKAGE_MTD_UBIRMVOL=y
|
||||
BR2_PACKAGE_MTD_UBIRSVOL=y
|
||||
BR2_PACKAGE_MTD_UBIUPDATEVOL=y
|
||||
BR2_PACKAGE_MTD_UBIBLOCK=y
|
||||
# BR2_PACKAGE_MTD_TESTS is not set
|
||||
|
||||
# BR2_PACKAGE_MTOOLS is not set
|
||||
# BR2_PACKAGE_NFS_UTILS is not set
|
||||
# BR2_PACKAGE_NILFS_UTILS is not set
|
||||
|
@ -1170,30 +1220,15 @@ BR2_PACKAGE_QT6_ARCH_SUPPORTS=y
|
|||
# BR2_PACKAGE_18XX_TI_UTILS is not set
|
||||
# BR2_PACKAGE_ACPICA is not set
|
||||
# BR2_PACKAGE_ACPID is not set
|
||||
|
||||
#
|
||||
# acpitool needs a toolchain w/ threads, C++, dynamic library
|
||||
#
|
||||
# BR2_PACKAGE_ACPITOOL is not set
|
||||
# BR2_PACKAGE_AER_INJECT is not set
|
||||
# BR2_PACKAGE_ALTERA_STAPL is not set
|
||||
|
||||
#
|
||||
# apcupsd needs a toolchain w/ C++, threads
|
||||
#
|
||||
# BR2_PACKAGE_APCUPSD is not set
|
||||
# BR2_PACKAGE_AVRDUDE is not set
|
||||
|
||||
#
|
||||
# bcache-tools needs udev /dev management
|
||||
#
|
||||
|
||||
#
|
||||
# brickd needs udev /dev management, a toolchain w/ threads, wchar
|
||||
#
|
||||
# BR2_PACKAGE_BCACHE_TOOLS is not set
|
||||
# BR2_PACKAGE_BRICKD is not set
|
||||
# BR2_PACKAGE_BRLTTY is not set
|
||||
|
||||
#
|
||||
# cc-tool needs a toolchain w/ C++, threads, wchar, gcc >= 4.9
|
||||
#
|
||||
# BR2_PACKAGE_CC_TOOL is not set
|
||||
# BR2_PACKAGE_CDRKIT is not set
|
||||
BR2_PACKAGE_CPUBURN_ARM_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_CPUBURN_ARM is not set
|
||||
|
@ -1224,15 +1259,17 @@ BR2_PACKAGE_CPUBURN_ARM_ARCH_SUPPORTS=y
|
|||
# BR2_PACKAGE_DVB_APPS is not set
|
||||
# BR2_PACKAGE_DVBSNOOP is not set
|
||||
|
||||
#
|
||||
# eudev needs eudev /dev management
|
||||
#
|
||||
BR2_PACKAGE_EUDEV=y
|
||||
BR2_PACKAGE_PROVIDES_UDEV="eudev"
|
||||
# BR2_PACKAGE_EUDEV_RULES_GEN is not set
|
||||
BR2_PACKAGE_EUDEV_ENABLE_HWDB=y
|
||||
|
||||
# BR2_PACKAGE_EVEMU is not set
|
||||
# BR2_PACKAGE_EVTEST is not set
|
||||
# BR2_PACKAGE_FAN_CTRL is not set
|
||||
# BR2_PACKAGE_FCONFIG is not set
|
||||
BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_FLASHROM is not set
|
||||
BR2_PACKAGE_FLASHROM=y
|
||||
# BR2_PACKAGE_FMTOOLS is not set
|
||||
# BR2_PACKAGE_FREEIPMI is not set
|
||||
# BR2_PACKAGE_FREESCALE_IMX is not set
|
||||
|
@ -1244,10 +1281,18 @@ BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y
|
|||
# gptfdisk needs a toolchain w/ C++
|
||||
#
|
||||
# BR2_PACKAGE_GVFS is not set
|
||||
# BR2_PACKAGE_HWDATA is not set
|
||||
BR2_PACKAGE_HWDATA=y
|
||||
# BR2_PACKAGE_HWDATA_IAB_OUI_TXT is not set
|
||||
BR2_PACKAGE_HWDATA_PCI_IDS=y
|
||||
# BR2_PACKAGE_HWDATA_PNP_IDS is not set
|
||||
BR2_PACKAGE_HWDATA_USB_IDS=y
|
||||
# BR2_PACKAGE_HWLOC is not set
|
||||
# BR2_PACKAGE_INPUT_EVENT_DAEMON is not set
|
||||
# BR2_PACKAGE_IPMITOOL is not set
|
||||
BR2_PACKAGE_IPMITOOL=y
|
||||
# BR2_PACKAGE_IPMITOOL_LANPLUS is not set
|
||||
BR2_PACKAGE_IPMITOOL_USB=y
|
||||
# BR2_PACKAGE_IPMITOOL_IPMIEVD is not set
|
||||
# BR2_PACKAGE_IPMITOOL_IPMISHELL is not set
|
||||
# BR2_PACKAGE_IRDA_UTILS is not set
|
||||
# BR2_PACKAGE_KBD is not set
|
||||
# BR2_PACKAGE_LCDPROC is not set
|
||||
|
@ -1339,7 +1384,7 @@ BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y
|
|||
# smartmontools needs a toolchain w/ C++
|
||||
#
|
||||
# BR2_PACKAGE_SMSTOOLS3 is not set
|
||||
# BR2_PACKAGE_SPI_TOOLS is not set
|
||||
BR2_PACKAGE_SPI_TOOLS=y
|
||||
# BR2_PACKAGE_SREDIRD is not set
|
||||
# BR2_PACKAGE_STATSERIAL is not set
|
||||
# BR2_PACKAGE_STM32FLASH is not set
|
||||
|
@ -1366,20 +1411,11 @@ BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y
|
|||
#
|
||||
# upower needs udev /dev management
|
||||
#
|
||||
# BR2_PACKAGE_USB_MODESWITCH is not set
|
||||
# BR2_PACKAGE_USB_MODESWITCH_DATA is not set
|
||||
|
||||
#
|
||||
# usbguard needs a toolchain w/ C++, threads, dynamic library, gcc >= 8
|
||||
#
|
||||
|
||||
#
|
||||
# usbmount requires udev to be enabled
|
||||
#
|
||||
|
||||
#
|
||||
# usbutils needs udev /dev management and toolchain w/ threads, gcc >= 4.9
|
||||
#
|
||||
BR2_PACKAGE_USB_MODESWITCH=y
|
||||
BR2_PACKAGE_USB_MODESWITCH_DATA=y
|
||||
BR2_PACKAGE_USBGUARD=y
|
||||
BR2_PACKAGE_USBMOUNT=y
|
||||
BR2_PACKAGE_USBUTILS=y
|
||||
# BR2_PACKAGE_W_SCAN is not set
|
||||
# BR2_PACKAGE_WILC_DRIVER is not set
|
||||
# BR2_PACKAGE_WIPE is not set
|
||||
|
@ -1399,7 +1435,7 @@ BR2_PACKAGE_ERLANG_ARCH_SUPPORTS=y
|
|||
# BR2_PACKAGE_GUILE is not set
|
||||
# BR2_PACKAGE_HASERL is not set
|
||||
# BR2_PACKAGE_JANET is not set
|
||||
# BR2_PACKAGE_JIMTCL is not set
|
||||
BR2_PACKAGE_JIMTCL=y
|
||||
# BR2_PACKAGE_LUA is not set
|
||||
BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER="host-lua"
|
||||
BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS=y
|
||||
|
@ -1598,7 +1634,8 @@ BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="aarch64-unknown-linux-gnu"
|
|||
# BR2_PACKAGE_LIBSCRYPT is not set
|
||||
# BR2_PACKAGE_LIBSECRET is not set
|
||||
# BR2_PACKAGE_LIBSHA1 is not set
|
||||
# BR2_PACKAGE_LIBSODIUM is not set
|
||||
BR2_PACKAGE_LIBSODIUM=y
|
||||
BR2_PACKAGE_LIBSODIUM_FULL=y
|
||||
# BR2_PACKAGE_LIBSSH is not set
|
||||
# BR2_PACKAGE_LIBSSH2 is not set
|
||||
# BR2_PACKAGE_LIBTOMCRYPT is not set
|
||||
|
@ -1664,11 +1701,11 @@ BR2_PACKAGE_ROCKSDB_ARCH_SUPPORTS=y
|
|||
# Filesystem
|
||||
#
|
||||
# BR2_PACKAGE_GAMIN is not set
|
||||
# BR2_PACKAGE_LIBCONFIG is not set
|
||||
BR2_PACKAGE_LIBCONFIG=y
|
||||
# BR2_PACKAGE_LIBCONFUSE is not set
|
||||
# BR2_PACKAGE_LIBFUSE is not set
|
||||
# BR2_PACKAGE_LIBFUSE3 is not set
|
||||
# BR2_PACKAGE_LIBLOCKFILE is not set
|
||||
BR2_PACKAGE_LIBLOCKFILE=y
|
||||
# BR2_PACKAGE_LIBNFS is not set
|
||||
# BR2_PACKAGE_LIBSYSFS is not set
|
||||
# BR2_PACKAGE_LOCKDEV is not set
|
||||
|
@ -1909,47 +1946,23 @@ BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y
|
|||
BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_GNU_EFI is not set
|
||||
# BR2_PACKAGE_HACKRF is not set
|
||||
|
||||
#
|
||||
# hidapi needs udev /dev management and a toolchain w/ NPTL, threads, gcc >= 4.9
|
||||
#
|
||||
# BR2_PACKAGE_HIDAPI is not set
|
||||
# BR2_PACKAGE_JITTERENTROPY_LIBRARY is not set
|
||||
|
||||
#
|
||||
# lcdapi needs a toolchain w/ C++, threads
|
||||
#
|
||||
|
||||
#
|
||||
# let-me-create needs a toolchain w/ C++, threads, dynamic library
|
||||
#
|
||||
# BR2_PACKAGE_LCDAPI is not set
|
||||
# BR2_PACKAGE_LET_ME_CREATE is not set
|
||||
# BR2_PACKAGE_LIBAIO is not set
|
||||
|
||||
#
|
||||
# libatasmart requires udev to be enabled
|
||||
#
|
||||
|
||||
#
|
||||
# libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library
|
||||
#
|
||||
|
||||
#
|
||||
# libcec needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 4.7
|
||||
#
|
||||
# BR2_PACKAGE_LIBATASMART is not set
|
||||
# BR2_PACKAGE_LIBBLOCKDEV is not set
|
||||
# BR2_PACKAGE_LIBCEC is not set
|
||||
# BR2_PACKAGE_LIBFREEFARE is not set
|
||||
# BR2_PACKAGE_LIBFTDI is not set
|
||||
# BR2_PACKAGE_LIBFTDI1 is not set
|
||||
# BR2_PACKAGE_LIBGPHOTO2 is not set
|
||||
# BR2_PACKAGE_LIBGPIOD is not set
|
||||
|
||||
#
|
||||
# libgudev needs udev /dev handling and a toolchain w/ wchar, threads
|
||||
#
|
||||
# BR2_PACKAGE_LIBGUDEV is not set
|
||||
# BR2_PACKAGE_LIBHID is not set
|
||||
# BR2_PACKAGE_LIBIIO is not set
|
||||
|
||||
#
|
||||
# libinput needs udev /dev management
|
||||
#
|
||||
# BR2_PACKAGE_LIBINPUT is not set
|
||||
# BR2_PACKAGE_LIBIQRF is not set
|
||||
# BR2_PACKAGE_LIBLLCP is not set
|
||||
# BR2_PACKAGE_LIBMBIM is not set
|
||||
|
@ -1961,17 +1974,16 @@ BR2_PACKAGE_GNU_EFI_ARCH_SUPPORTS=y
|
|||
# BR2_PACKAGE_LIBQRTR_GLIB is not set
|
||||
# BR2_PACKAGE_LIBRAW1394 is not set
|
||||
# BR2_PACKAGE_LIBRTLSDR is not set
|
||||
|
||||
#
|
||||
# libserial needs a toolchain w/ C++, gcc >= 5, threads, wchar
|
||||
#
|
||||
# BR2_PACKAGE_LIBSERIAL is not set
|
||||
# BR2_PACKAGE_LIBSERIALPORT is not set
|
||||
# BR2_PACKAGE_LIBSIGROK is not set
|
||||
# BR2_PACKAGE_LIBSIGROKDECODE is not set
|
||||
# BR2_PACKAGE_LIBSOC is not set
|
||||
# BR2_PACKAGE_LIBSS7 is not set
|
||||
# BR2_PACKAGE_LIBUSB is not set
|
||||
# BR2_PACKAGE_LIBUSBGX is not set
|
||||
BR2_PACKAGE_LIBUSB=y
|
||||
# BR2_PACKAGE_LIBUSB_EXAMPLES is not set
|
||||
BR2_PACKAGE_LIBUSB_COMPAT=y
|
||||
BR2_PACKAGE_LIBUSBGX=y
|
||||
|
||||
#
|
||||
# libv4l needs a toolchain w/ threads, C++ and headers >= 3.0
|
||||
|
@ -2050,7 +2062,7 @@ BR2_PACKAGE_NE10_ARCH_SUPPORTS=y
|
|||
#
|
||||
# BR2_PACKAGE_LIBROXML is not set
|
||||
# BR2_PACKAGE_LIBUCL is not set
|
||||
# BR2_PACKAGE_LIBXML2 is not set
|
||||
BR2_PACKAGE_LIBXML2=y
|
||||
|
||||
#
|
||||
# libxml++ needs a toolchain w/ C++, wchar, threads, gcc >= 7
|
||||
|
@ -2703,7 +2715,7 @@ BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT=y
|
|||
# BR2_PACKAGE_LIBPTHREAD_STUBS is not set
|
||||
# BR2_PACKAGE_LIBPTHSEM is not set
|
||||
# BR2_PACKAGE_LIBPWQUALITY is not set
|
||||
# BR2_PACKAGE_LIBQB is not set
|
||||
BR2_PACKAGE_LIBQB=y
|
||||
BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS=y
|
||||
# BR2_PACKAGE_LIBSECCOMP is not set
|
||||
|
||||
|
@ -2762,10 +2774,7 @@ BR2_PACKAGE_POCO_ARCH_SUPPORTS=y
|
|||
#
|
||||
BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS=y
|
||||
BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y
|
||||
|
||||
#
|
||||
# protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8
|
||||
#
|
||||
BR2_PACKAGE_PROTOBUF=y
|
||||
|
||||
#
|
||||
# protobuf-c needs a toolchain w/ C++, threads
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -81,7 +81,8 @@ qemu-system-aarch64 -nographic\
|
|||
-cpu cortex-a53 -smp 4 -m 4G\
|
||||
-bios $BAO_DEMOS_WRKDIR/imgs/$PLATFORM/flash.bin \
|
||||
-device loader,file="$BAO_DEMOS_WRKDIR_IMGS/bao.bin",addr=0x50000000,force-raw=on\
|
||||
-device virtio-net-device,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:5555-:22\
|
||||
-device virtio-net-device,netdev=net0\
|
||||
-netdev user,id=net0,net=192.168.42.0/24,hostfwd=tcp:127.0.0.1:5555-:22\
|
||||
-device virtio-serial-device -chardev pty,id=serial3 -device virtconsole,chardev=serial3
|
||||
```
|
||||
|
||||
|
|
|
@ -42,7 +42,8 @@ cp $BAO_DEMOS_OPENSBI/build/platform/generic/firmware/fw_payload.elf\
|
|||
qemu-system-riscv64 -nographic\
|
||||
-M virt -cpu rv64 -m 4G -smp 4\
|
||||
-bios $BAO_DEMOS_WRKDIR_IMGS/opensbi.elf\
|
||||
-device virtio-net-device,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:5555-:22\
|
||||
-device virtio-net-device,netdev=net0 \
|
||||
-netdev user,id=net0,net=192.168.42.0/24,hostfwd=tcp:127.0.0.1:5555-:22\
|
||||
-device virtio-serial-device -chardev pty,id=serial3 -device virtconsole,chardev=serial3 -S
|
||||
```
|
||||
|
||||
|
|
Loading…
Reference in New Issue