Compare commits

...

4 Commits

Author SHA1 Message Date
“hc0014” 69ff9286df rpi4 usb 2023-12-06 10:09:07 +08:00
“hc0014” 3dd421ed77 双linux+网口使用 2023-11-02 15:33:04 +08:00
Yan-Jie Wang 40e843aa5d fix(demos/linux+zephyr): fix linux+zephyr demo on fvp-a
The addresses in config file of bao and the device tree for zephyr are
not consistent.  Change the config file of bao to match the addresses
in the device tree for zephyr.

Signed-off-by: Yan-Jie Wang <yanjiewtw@gmail.com>
Signed-off-by: Jose Martins <josemartins90@gmail.com>
2023-10-21 16:38:56 +01:00
ElectroQuanta d0d6b67a7b update(plat/qemu): cmd requires net=IP_ADDR/RANGE for SSH to run properly
Without this SSH connection will hang, until is reset by peer (timeout).

This matches the makefile command present in the the makefile on the same directory.

Signed-off-by: ElectroQuanta <id6892@alunos.uminho.pt>
Signed-off-by: Jose Martins <josemartins90@gmail.com>
2023-10-21 16:06:12 +01:00
12 changed files with 5033 additions and 208 deletions

View File

@ -47,7 +47,7 @@ struct config config = {
} }
}, },
.dev_num = 2, .dev_num = 3,
.devs = (struct vm_dev_region[]) { .devs = (struct vm_dev_region[]) {
{ {
/* GENET */ /* GENET */
@ -62,7 +62,15 @@ struct config config = {
.interrupt_num = 1, .interrupt_num = 1,
.interrupts = .interrupts =
(irqid_t[]) {27} (irqid_t[]) {27}
} },
{
/* USB */
.pa = 0xfe980000,
.va = 0xfe980000,
.size = 0x10000,
.interrupt_num = 1,
.interrupts = (irqid_t[]) {15}
},
}, },
.arch = { .arch = {

View File

@ -15,7 +15,6 @@ struct config config = {
.vmlist_size = 2, .vmlist_size = 2,
.vmlist = { .vmlist = {
{ {
.image = { .image = {
.base_addr = 0x00200000, .base_addr = 0x00200000,
.load_addr = VM_IMAGE_OFFSET(linux_image), .load_addr = VM_IMAGE_OFFSET(linux_image),
@ -25,13 +24,13 @@ struct config config = {
.entry = 0x00200000, .entry = 0x00200000,
.platform = { .platform = {
.cpu_num = 3, .cpu_num = 2,
.region_num = 1, .region_num = 1,
.regions = (struct vm_mem_region[]) { .regions = (struct vm_mem_region[]) {
{ {
.base = 0x00000000, .base = 0x00000000,
.size = 0x40000000 .size = 0x20000000
} }
}, },
@ -46,7 +45,7 @@ struct config config = {
} }
}, },
.dev_num = 3, .dev_num = 2,
.devs = (struct vm_dev_region[]) { .devs = (struct vm_dev_region[]) {
{ {
/* UART1 */ /* UART1 */
@ -63,6 +62,65 @@ struct config config = {
.interrupts = .interrupts =
(irqid_t[]) {27} (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 */ /* GEM3 */
.id = 0x877, /* smmu stream id */ .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 = { .arch = {
.gic = { .gic = {
.gicd_addr = 0xF9010000, .gicd_addr = 0xF9010000,
.gicc_addr = 0xF9020000, .gicc_addr = 0xF9020000,
} },
} }
}, },
}, },
} }
}; };

View File

@ -68,6 +68,18 @@
interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>; 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 { scb@7c000000 {
compatible = "simple-bus"; compatible = "simple-bus";
#address-cells = <0x02>; #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 { bao-ipc@f0000000 {
compatible = "bao,ipcshmem"; compatible = "bao,ipcshmem";
reg = <0x0 0xf0000000 0x0 0x00010000>; reg = <0x0 0xf0000000 0x0 0x00010000>;
@ -112,12 +140,15 @@
id = <0>; id = <0>;
}; };
aliases { aliases {
ethernet0 = &genet; ethernet0 = &genet;
usb0 = &usb;
}; };
chosen { 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";
}; };
}; };

View File

@ -23,12 +23,6 @@
reg = <0x1>; reg = <0x1>;
}; };
cpu@2 {
compatible = "arm,cortex-a53", "arm,armv8";
device_type = "cpu";
enable-method = "psci";
reg = <0x2>;
};
}; };
psci { psci {
@ -38,7 +32,7 @@
memory@0 { memory@0 {
device_type = "memory"; device_type = "memory";
reg = <0x0 0x0 0x0 0x40000000>; reg = <0x0 0x0 0x0 0x20000000>;
}; };
gic: interrupt-controller@f9010000 { gic: interrupt-controller@f9010000 {
@ -64,12 +58,7 @@
phandle = <0x1>; phandle = <0x1>;
}; };
ethclk: ethclk {
compatible = "fixed-clock";
#clock-cells = <0x0>;
clock-frequency = <125000000>;
phandle = <0x2>;
};
amba { amba {
compatible = "simple-bus"; compatible = "simple-bus";
@ -87,27 +76,7 @@
clocks = <&uartclk &uartclk>; 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 = <&ethclk &ethclk &ethclk &ethclk>;
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 { zynqmp_phy@fd400000 {
compatible = "xlnx,zynqmp-psgtr-v1.1"; compatible = "xlnx,zynqmp-psgtr-v1.1";
@ -143,7 +112,7 @@
}; };
aliases { aliases {
ethernet0 = "/amba/ethernet@ff0e0000";
serial0 = "/amba/serial@ff010000"; serial0 = "/amba/serial@ff010000";
}; };

View File

@ -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 = <&ethclk &ethclk &ethclk &ethclk>;
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";
};
};

View File

@ -5,15 +5,21 @@ linux_image=$(wrkdir_demo_imgs)/linux.bin
linux_dts=$(bao_demos)/demos/$(DEMO)/devicetrees/$(PLATFORM)/linux.dts linux_dts=$(bao_demos)/demos/$(DEMO)/devicetrees/$(PLATFORM)/linux.dts
$(eval $(call build-linux, $(linux_image), $(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) ifeq ($(ARCH_PROFILE),armv8-r)
make_args:=MEM_BASE=0x10000000 make_args:=MEM_BASE=0x10000000
fvpr_image_data:=$(freertos_image)@0x10000000 $(linux_image)@0x20000000 fvpr_image_data:=$(freertos_image)@0x10000000 $(linux_image)@0x20000000
else else
make_args:=STD_ADDR_SPACE=y make_args:=STD_ADDR_SPACE=y
endif endif
$(eval $(call build-freertos, $(freertos_image), $(make_args))) $(eval $(call build-freertos, $(freertos_image), $(make_args)))
guest_images:=$(linux_image) $(freertos_image) guest_images:=$(linux_image) $(freertos_image)

View File

@ -1 +0,0 @@
fvp-a.c

View File

@ -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,
}
}
},
},
},
};

View File

@ -79,12 +79,12 @@ struct config config = {
}, },
{ {
.image = { .image = {
.base_addr = 0x20000000, .base_addr = 0x90000000,
.load_addr = VM_IMAGE_OFFSET(zephyr_image), .load_addr = VM_IMAGE_OFFSET(zephyr_image),
.size = VM_IMAGE_SIZE(zephyr_image) .size = VM_IMAGE_SIZE(zephyr_image)
}, },
.entry = 0x20000000, .entry = 0x90000000,
.platform = { .platform = {
.cpu_num = 2, .cpu_num = 2,
@ -92,7 +92,7 @@ struct config config = {
.region_num = 1, .region_num = 1,
.regions = (struct vm_mem_region[]) { .regions = (struct vm_mem_region[]) {
{ {
.base = 0x20000000, .base = 0x90000000,
.size = 0x8000000 .size = 0x8000000
} }
}, },
@ -114,7 +114,7 @@ struct config config = {
{ {
/* UART2, PL011 */ /* UART2, PL011 */
.pa = 0x1c0b0000, .pa = 0x1c0b0000,
.va = 0x9c0b0000, .va = 0x1c0b0000,
.size = 0x10000, .size = 0x10000,
.interrupt_num = 1, .interrupt_num = 1,
.interrupts = (irqid_t[]) {39} .interrupts = (irqid_t[]) {39}
@ -127,8 +127,8 @@ struct config config = {
.arch = { .arch = {
.gic = { .gic = {
.gicd_addr = 0xaf000000, .gicd_addr = 0x2f000000,
.gicr_addr = 0xaf100000, .gicr_addr = 0x2f100000,
} }
} }
}, },

View File

@ -260,6 +260,7 @@ BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS=y
BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y
BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y
BR2_USE_WCHAR=y BR2_USE_WCHAR=y
BR2_INSTALL_LIBSTDCPP=y
BR2_ENABLE_LOCALE=y BR2_ENABLE_LOCALE=y
BR2_TOOLCHAIN_HAS_THREADS=y BR2_TOOLCHAIN_HAS_THREADS=y
BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y
@ -454,9 +455,9 @@ BR2_INIT_BUSYBOX=y
# BR2_INIT_SYSTEMD is not set # BR2_INIT_SYSTEMD is not set
# BR2_INIT_NONE is not set # BR2_INIT_NONE is not set
# BR2_ROOTFS_DEVICE_CREATION_STATIC 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_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="system/device_table.txt"
# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set # BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set
# BR2_ROOTFS_MERGED_USR 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 # 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_STRACE is not set
# BR2_PACKAGE_STRESS is not set # BR2_PACKAGE_STRESS is not set
# BR2_PACKAGE_STRESS_NG 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_EXFATPROGS is not set
# BR2_PACKAGE_F2FS_TOOLS is not set # BR2_PACKAGE_F2FS_TOOLS is not set
# BR2_PACKAGE_FIRMWARE_UTILS 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_FSCRYPTCTL is not set
# BR2_PACKAGE_FUSE_OVERLAYFS is not set # BR2_PACKAGE_FUSE_OVERLAYFS is not set
# BR2_PACKAGE_FWUP 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_GOCRYPTFS is not set
# BR2_PACKAGE_IMX_USB_LOADER is not set # BR2_PACKAGE_IMX_USB_LOADER is not set
# BR2_PACKAGE_MMC_UTILS 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_MTOOLS is not set
# BR2_PACKAGE_NFS_UTILS is not set # BR2_PACKAGE_NFS_UTILS is not set
# BR2_PACKAGE_NILFS_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_18XX_TI_UTILS is not set
# BR2_PACKAGE_ACPICA is not set # BR2_PACKAGE_ACPICA is not set
# BR2_PACKAGE_ACPID is not set # BR2_PACKAGE_ACPID is not set
# BR2_PACKAGE_ACPITOOL is not set
#
# acpitool needs a toolchain w/ threads, C++, dynamic library
#
# BR2_PACKAGE_AER_INJECT is not set # BR2_PACKAGE_AER_INJECT is not set
# BR2_PACKAGE_ALTERA_STAPL is not set # BR2_PACKAGE_ALTERA_STAPL is not set
# BR2_PACKAGE_APCUPSD is not set
#
# apcupsd needs a toolchain w/ C++, threads
#
# BR2_PACKAGE_AVRDUDE is not set # BR2_PACKAGE_AVRDUDE is not set
# BR2_PACKAGE_BCACHE_TOOLS is not set
# # BR2_PACKAGE_BRICKD is not set
# bcache-tools needs udev /dev management
#
#
# brickd needs udev /dev management, a toolchain w/ threads, wchar
#
# BR2_PACKAGE_BRLTTY is not set # BR2_PACKAGE_BRLTTY is not set
# BR2_PACKAGE_CC_TOOL is not set
#
# cc-tool needs a toolchain w/ C++, threads, wchar, gcc >= 4.9
#
# BR2_PACKAGE_CDRKIT is not set # BR2_PACKAGE_CDRKIT is not set
BR2_PACKAGE_CPUBURN_ARM_ARCH_SUPPORTS=y BR2_PACKAGE_CPUBURN_ARM_ARCH_SUPPORTS=y
# BR2_PACKAGE_CPUBURN_ARM is not set # 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_DVB_APPS is not set
# BR2_PACKAGE_DVBSNOOP is not set # BR2_PACKAGE_DVBSNOOP is not set
# BR2_PACKAGE_EUDEV=y
# eudev needs eudev /dev management 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_EVEMU is not set
# BR2_PACKAGE_EVTEST is not set # BR2_PACKAGE_EVTEST is not set
# BR2_PACKAGE_FAN_CTRL is not set # BR2_PACKAGE_FAN_CTRL is not set
# BR2_PACKAGE_FCONFIG is not set # BR2_PACKAGE_FCONFIG is not set
BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y
# BR2_PACKAGE_FLASHROM is not set BR2_PACKAGE_FLASHROM=y
# BR2_PACKAGE_FMTOOLS is not set # BR2_PACKAGE_FMTOOLS is not set
# BR2_PACKAGE_FREEIPMI is not set # BR2_PACKAGE_FREEIPMI is not set
# BR2_PACKAGE_FREESCALE_IMX 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++ # gptfdisk needs a toolchain w/ C++
# #
# BR2_PACKAGE_GVFS is not set # 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_HWLOC is not set
# BR2_PACKAGE_INPUT_EVENT_DAEMON 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_IRDA_UTILS is not set
# BR2_PACKAGE_KBD is not set # BR2_PACKAGE_KBD is not set
# BR2_PACKAGE_LCDPROC 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++ # smartmontools needs a toolchain w/ C++
# #
# BR2_PACKAGE_SMSTOOLS3 is not set # 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_SREDIRD is not set
# BR2_PACKAGE_STATSERIAL is not set # BR2_PACKAGE_STATSERIAL is not set
# BR2_PACKAGE_STM32FLASH is not set # BR2_PACKAGE_STM32FLASH is not set
@ -1366,20 +1411,11 @@ BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS=y
# #
# upower needs udev /dev management # upower needs udev /dev management
# #
# BR2_PACKAGE_USB_MODESWITCH is not set BR2_PACKAGE_USB_MODESWITCH=y
# BR2_PACKAGE_USB_MODESWITCH_DATA is not set BR2_PACKAGE_USB_MODESWITCH_DATA=y
BR2_PACKAGE_USBGUARD=y
# BR2_PACKAGE_USBMOUNT=y
# usbguard needs a toolchain w/ C++, threads, dynamic library, gcc >= 8 BR2_PACKAGE_USBUTILS=y
#
#
# usbmount requires udev to be enabled
#
#
# usbutils needs udev /dev management and toolchain w/ threads, gcc >= 4.9
#
# BR2_PACKAGE_W_SCAN is not set # BR2_PACKAGE_W_SCAN is not set
# BR2_PACKAGE_WILC_DRIVER is not set # BR2_PACKAGE_WILC_DRIVER is not set
# BR2_PACKAGE_WIPE 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_GUILE is not set
# BR2_PACKAGE_HASERL is not set # BR2_PACKAGE_HASERL is not set
# BR2_PACKAGE_JANET 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_LUA is not set
BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER="host-lua" BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER="host-lua"
BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS=y 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_LIBSCRYPT is not set
# BR2_PACKAGE_LIBSECRET is not set # BR2_PACKAGE_LIBSECRET is not set
# BR2_PACKAGE_LIBSHA1 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_LIBSSH is not set
# BR2_PACKAGE_LIBSSH2 is not set # BR2_PACKAGE_LIBSSH2 is not set
# BR2_PACKAGE_LIBTOMCRYPT is not set # BR2_PACKAGE_LIBTOMCRYPT is not set
@ -1664,11 +1701,11 @@ BR2_PACKAGE_ROCKSDB_ARCH_SUPPORTS=y
# Filesystem # Filesystem
# #
# BR2_PACKAGE_GAMIN is not set # BR2_PACKAGE_GAMIN is not set
# BR2_PACKAGE_LIBCONFIG is not set BR2_PACKAGE_LIBCONFIG=y
# BR2_PACKAGE_LIBCONFUSE is not set # BR2_PACKAGE_LIBCONFUSE is not set
# BR2_PACKAGE_LIBFUSE is not set # BR2_PACKAGE_LIBFUSE is not set
# BR2_PACKAGE_LIBFUSE3 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_LIBNFS is not set
# BR2_PACKAGE_LIBSYSFS is not set # BR2_PACKAGE_LIBSYSFS is not set
# BR2_PACKAGE_LOCKDEV 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_ARCH_SUPPORTS=y
# BR2_PACKAGE_GNU_EFI is not set # BR2_PACKAGE_GNU_EFI is not set
# BR2_PACKAGE_HACKRF is not set # BR2_PACKAGE_HACKRF is not set
# BR2_PACKAGE_HIDAPI is not set
#
# hidapi needs udev /dev management and a toolchain w/ NPTL, threads, gcc >= 4.9
#
# BR2_PACKAGE_JITTERENTROPY_LIBRARY is not set # BR2_PACKAGE_JITTERENTROPY_LIBRARY is not set
# BR2_PACKAGE_LCDAPI is not set
# # BR2_PACKAGE_LET_ME_CREATE is not set
# lcdapi needs a toolchain w/ C++, threads
#
#
# let-me-create needs a toolchain w/ C++, threads, dynamic library
#
# BR2_PACKAGE_LIBAIO is not set # BR2_PACKAGE_LIBAIO is not set
# BR2_PACKAGE_LIBATASMART is not set
# # BR2_PACKAGE_LIBBLOCKDEV is not set
# libatasmart requires udev to be enabled # BR2_PACKAGE_LIBCEC is not set
#
#
# 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_LIBFREEFARE is not set # BR2_PACKAGE_LIBFREEFARE is not set
# BR2_PACKAGE_LIBFTDI is not set # BR2_PACKAGE_LIBFTDI is not set
# BR2_PACKAGE_LIBFTDI1 is not set # BR2_PACKAGE_LIBFTDI1 is not set
# BR2_PACKAGE_LIBGPHOTO2 is not set # BR2_PACKAGE_LIBGPHOTO2 is not set
# BR2_PACKAGE_LIBGPIOD is not set # BR2_PACKAGE_LIBGPIOD is not set
# BR2_PACKAGE_LIBGUDEV is not set
#
# libgudev needs udev /dev handling and a toolchain w/ wchar, threads
#
# BR2_PACKAGE_LIBHID is not set # BR2_PACKAGE_LIBHID is not set
# BR2_PACKAGE_LIBIIO is not set # BR2_PACKAGE_LIBIIO is not set
# BR2_PACKAGE_LIBINPUT is not set
#
# libinput needs udev /dev management
#
# BR2_PACKAGE_LIBIQRF is not set # BR2_PACKAGE_LIBIQRF is not set
# BR2_PACKAGE_LIBLLCP is not set # BR2_PACKAGE_LIBLLCP is not set
# BR2_PACKAGE_LIBMBIM 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_LIBQRTR_GLIB is not set
# BR2_PACKAGE_LIBRAW1394 is not set # BR2_PACKAGE_LIBRAW1394 is not set
# BR2_PACKAGE_LIBRTLSDR is not set # BR2_PACKAGE_LIBRTLSDR is not set
# BR2_PACKAGE_LIBSERIAL is not set
#
# libserial needs a toolchain w/ C++, gcc >= 5, threads, wchar
#
# BR2_PACKAGE_LIBSERIALPORT is not set # BR2_PACKAGE_LIBSERIALPORT is not set
# BR2_PACKAGE_LIBSIGROK is not set # BR2_PACKAGE_LIBSIGROK is not set
# BR2_PACKAGE_LIBSIGROKDECODE is not set # BR2_PACKAGE_LIBSIGROKDECODE is not set
# BR2_PACKAGE_LIBSOC is not set # BR2_PACKAGE_LIBSOC is not set
# BR2_PACKAGE_LIBSS7 is not set # BR2_PACKAGE_LIBSS7 is not set
# BR2_PACKAGE_LIBUSB is not set BR2_PACKAGE_LIBUSB=y
# BR2_PACKAGE_LIBUSBGX is not set # 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 # 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_LIBROXML is not set
# BR2_PACKAGE_LIBUCL 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 # 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_LIBPTHREAD_STUBS is not set
# BR2_PACKAGE_LIBPTHSEM is not set # BR2_PACKAGE_LIBPTHSEM is not set
# BR2_PACKAGE_LIBPWQUALITY 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_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBSECCOMP is not set # 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_HOST_PROTOBUF_ARCH_SUPPORTS=y
BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y
BR2_PACKAGE_PROTOBUF=y
#
# protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8
#
# #
# protobuf-c needs a toolchain w/ C++, threads # protobuf-c needs a toolchain w/ C++, threads

File diff suppressed because it is too large Load Diff

View File

@ -81,7 +81,8 @@ qemu-system-aarch64 -nographic\
-cpu cortex-a53 -smp 4 -m 4G\ -cpu cortex-a53 -smp 4 -m 4G\
-bios $BAO_DEMOS_WRKDIR/imgs/$PLATFORM/flash.bin \ -bios $BAO_DEMOS_WRKDIR/imgs/$PLATFORM/flash.bin \
-device loader,file="$BAO_DEMOS_WRKDIR_IMGS/bao.bin",addr=0x50000000,force-raw=on\ -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 -device virtio-serial-device -chardev pty,id=serial3 -device virtconsole,chardev=serial3
``` ```

View File

@ -42,7 +42,8 @@ cp $BAO_DEMOS_OPENSBI/build/platform/generic/firmware/fw_payload.elf\
qemu-system-riscv64 -nographic\ qemu-system-riscv64 -nographic\
-M virt -cpu rv64 -m 4G -smp 4\ -M virt -cpu rv64 -m 4G -smp 4\
-bios $BAO_DEMOS_WRKDIR_IMGS/opensbi.elf\ -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 -device virtio-serial-device -chardev pty,id=serial3 -device virtconsole,chardev=serial3 -S
``` ```