diff --git a/debian/acrn-devicemodel.install b/debian/acrn-devicemodel.install index fd9de9461..6fa089005 100644 --- a/debian/acrn-devicemodel.install +++ b/debian/acrn-devicemodel.install @@ -1,3 +1,2 @@ usr/bin/acrn-dm usr/share/acrn/bios/ -usr/share/doc/acrn-devicemodel/samples/ diff --git a/debian/rules b/debian/rules index a2093798a..42c8529a2 100755 --- a/debian/rules +++ b/debian/rules @@ -330,11 +330,6 @@ override_dh_auto_install-arch: debian/acrn-hypervisor.install $(Q)sed -i 's/acrn_tap\* //g' \ $(DESTDIR)$(docdir)/acrnd/examples/50-acrn.network @: - @# move devicemodel samples - $(Q)mkdir -p $(DESTDIR)$(docdir)/acrn-devicemodel - $(Q)mv $(DESTDIR)$(datadir)/acrn/samples \ - $(DESTDIR)$(docdir)/acrn-devicemodel - @: @# adapt systemd services for tools (available in DEBUG build only) $(if $(call strequ,${RELEASE},n), \ $(Q)sed -i -e '/telemd.socket/d' -e '/prepare.service/d' \ diff --git a/devicemodel/Makefile b/devicemodel/Makefile index 823265e27..f54376252 100644 --- a/devicemodel/Makefile +++ b/devicemodel/Makefile @@ -208,8 +208,6 @@ DISTCLEAN_OBJS := $(shell find $(BASEDIR) -name '*.o') PROGRAM := acrn-dm -SAMPLES_NUC := $(wildcard samples/nuc/*) - BIOS_BIN := $(wildcard bios/*) all: $(DM_OBJDIR)/$(PROGRAM) @@ -259,11 +257,9 @@ $(DM_OBJDIR)/%.o: %.c $(HEADERS) [ ! -e $@ ] && mkdir -p $(dir $@); \ $(CC) $(CFLAGS) -c $< -o $@ -MMD -MT $@ -install: $(DM_OBJDIR)/$(PROGRAM) install-samples-nuc install-bios +install: $(DM_OBJDIR)/$(PROGRAM) install-bios install -D --mode=0755 $(DM_OBJDIR)/$(PROGRAM) $(DESTDIR)$(bindir)/$(PROGRAM) -install-samples-nuc: $(SAMPLES_NUC) - install -D -t $(DESTDIR)$(datadir)/acrn/samples/nuc $^ install-bios: $(BIOS_BIN) install -d $(DESTDIR)$(datadir)/acrn/bios diff --git a/misc/config_tools/data/generic_board/generic_board.xml b/misc/config_tools/data/generic_board/generic_board.xml index fa1fd897e..f4187d803 100644 --- a/misc/config_tools/data/generic_board/generic_board.xml +++ b/misc/config_tools/data/generic_board/generic_board.xml @@ -1,97 +1,87 @@ BIOS Information - Vendor: Intel Corp. - Version: TNTGL357.0042.2020.1221.1743 - Release Date: 12/21/2020 + Vendor: American Megatrends International, LLC. + Version: E5000XXU3F00105-BPCIe + Release Date: 08/25/2021 BIOS Revision: 5.19 Base Board Information - Manufacturer: Intel Corporation - Product Name: NUC11TNBi5 - Version: M11904-403 + Manufacturer: Default string + Product Name: Default string + Version: Default string 00:00.0 Host bridge: Intel Corporation 11th Gen Core Processor Host Bridge/DRAM Registers (rev 01) 00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01) - Region 0: Memory at 603c000000 (64-bit, non-prefetchable) [size=16M] + Region 0: Memory at 6000000000 (64-bit, non-prefetchable) [size=16M] Region 2: Memory at 4000000000 (64-bit, prefetchable) [size=256M] Region 0: Memory at 0000004010000000 (64-bit, non-prefetchable) Region 2: Memory at 0000004020000000 (64-bit, prefetchable) - 00:06.0 PCI bridge: Intel Corporation 11th Gen Core Processor PCIe Controller (rev 01) - 00:07.0 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #1 (rev 01) - 00:07.2 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #2 (rev 01) - 00:08.0 System peripheral: Intel Corporation GNA Scoring Accelerator module (rev 01) - Region 0: Memory at 603d1b3000 (64-bit, non-prefetchable) [disabled] [size=4K] 00:0d.0 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01) - Region 0: Memory at 603d190000 (64-bit, non-prefetchable) [size=64K] - 00:0d.2 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 NHI #0 (rev 01) - Region 0: Memory at 603d140000 (64-bit, non-prefetchable) [size=256K] - Region 2: Memory at 603d1b2000 (64-bit, non-prefetchable) [size=4K] - 00:0d.3 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 NHI #1 (rev 01) - Region 0: Memory at 603d100000 (64-bit, non-prefetchable) [size=256K] - Region 2: Memory at 603d1b1000 (64-bit, non-prefetchable) [size=4K] + Region 0: Memory at 6001110000 (64-bit, non-prefetchable) [size=64K] + 00:10.0 Serial bus controller: Intel Corporation Device a0d8 (rev 20) + Region 0: Memory at 4017000000 (64-bit, non-prefetchable) [size=4K] + 00:10.5 Host bridge: Intel Corporation Device a0af (rev 20) 00:14.0 USB controller: Intel Corporation Tiger Lake-LP USB 3.2 Gen 2x1 xHCI Host Controller (rev 20) - Region 0: Memory at 603d180000 (64-bit, non-prefetchable) [size=64K] + Region 0: Memory at 6001100000 (64-bit, non-prefetchable) [size=64K] 00:14.2 RAM memory: Intel Corporation Tiger Lake-LP Shared SRAM (rev 20) - Region 0: Memory at 603d1a8000 (64-bit, non-prefetchable) [disabled] [size=16K] - Region 2: Memory at 603d1b0000 (64-bit, non-prefetchable) [disabled] [size=4K] - 00:14.3 Network controller: Intel Corporation Wi-Fi 6 AX201 (rev 20) - Region 0: Memory at 603d1a4000 (64-bit, non-prefetchable) [size=16K] + Region 0: Memory at 6001124000 (64-bit, non-prefetchable) [disabled] [size=16K] + Region 2: Memory at 600112b000 (64-bit, non-prefetchable) [disabled] [size=4K] 00:15.0 Serial bus controller: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #0 (rev 20) - Region 0: Memory at 4017000000 (64-bit, non-prefetchable) [virtual] [size=4K] - 00:15.1 Serial bus controller: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #1 (rev 20) Region 0: Memory at 4017001000 (64-bit, non-prefetchable) [virtual] [size=4K] 00:16.0 Communication controller: Intel Corporation Tiger Lake-LP Management Engine Interface (rev 20) - Region 0: Memory at 603d1ad000 (64-bit, non-prefetchable) [size=4K] + Region 0: Memory at 6001129000 (64-bit, non-prefetchable) [size=4K] + 00:16.3 Serial controller: Intel Corporation Tiger Lake-LP Active Management Technology - SOL (rev 20) + Region 1: Memory at 50824000 (32-bit, non-prefetchable) [size=4K] 00:17.0 SATA controller: Intel Corporation Device a0d3 (rev 20) - Region 0: Memory at 6a500000 (32-bit, non-prefetchable) [size=8K] - Region 1: Memory at 6a503000 (32-bit, non-prefetchable) [size=256] - Region 5: Memory at 6a502000 (32-bit, non-prefetchable) [size=2K] - 00:1d.0 PCI bridge: Intel Corporation Device a0b1 (rev 20) - 00:1f.0 ISA bridge: Intel Corporation Tiger Lake-LP LPC Controller (rev 20) + Region 0: Memory at 50820000 (32-bit, non-prefetchable) [size=8K] + Region 1: Memory at 50823000 (32-bit, non-prefetchable) [size=256] + Region 5: Memory at 50822000 (32-bit, non-prefetchable) [size=2K] + 00:1c.0 PCI bridge: Intel Corporation Device a0b8 (rev 20) + 00:1c.7 PCI bridge: Intel Corporation Tiger Lake-LP PCI Express Root Port #8 (rev 20) + 00:1f.0 ISA bridge: Intel Corporation Device a088 (rev 20) 00:1f.3 Audio device: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller (rev 20) - Region 0: Memory at 603d1a0000 (64-bit, non-prefetchable) [size=16K] - Region 4: Memory at 603d000000 (64-bit, non-prefetchable) [size=1M] + Region 0: Memory at 6001120000 (64-bit, non-prefetchable) [size=16K] + Region 4: Memory at 6001000000 (64-bit, non-prefetchable) [size=1M] 00:1f.4 SMBus: Intel Corporation Tiger Lake-LP SMBus Controller (rev 20) - Region 0: Memory at 603d1ac000 (64-bit, non-prefetchable) [size=256] + Region 0: Memory at 6001128000 (64-bit, non-prefetchable) [size=256] 00:1f.5 Serial bus controller: Intel Corporation Tiger Lake-LP SPI Controller (rev 20) - Region 0: Memory at 4f800000 (32-bit, non-prefetchable) [size=4K] - 01:00.0 Non-Volatile memory controller: Intel Corporation SSD Pro 7600p/760p/E 6100p Series (rev 03) - Region 0: Memory at 6a400000 (64-bit, non-prefetchable) [size=16K] - 58:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-LM (rev 03) - Region 0: Memory at 6a200000 (32-bit, non-prefetchable) [size=1M] - Region 3: Memory at 6a300000 (32-bit, non-prefetchable) [size=16K] + Region 0: Memory at 50825000 (32-bit, non-prefetchable) [size=4K] + 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (13) I219-LM (rev 20) + Region 0: Memory at 50800000 (32-bit, non-prefetchable) [size=128K] + 01:00.0 Non-Volatile memory controller: Innodisk Corporation PCIe 3TE6 Controller (rev 01) + Region 0: Memory at 50700000 (64-bit, non-prefetchable) [size=16K] + 02:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-LM (rev 03) + Region 0: Memory at 50500000 (32-bit, non-prefetchable) [size=1M] + Region 3: Memory at 50600000 (32-bit, non-prefetchable) [size=16K] 00:00.0 0600: 8086:9a14 (rev 01) 00:02.0 0300: 8086:9a49 (rev 01) - 00:06.0 0604: 8086:9a09 (rev 01) - 00:07.0 0604: 8086:9a25 (rev 01) - 00:07.2 0604: 8086:9a27 (rev 01) - 00:08.0 0880: 8086:9a11 (rev 01) 00:0d.0 0c03: 8086:9a13 (rev 01) - 00:0d.2 0c03: 8086:9a1b (rev 01) - 00:0d.3 0c03: 8086:9a1d (rev 01) + 00:10.0 0c80: 8086:a0d8 (rev 20) + 00:10.5 0600: 8086:a0af (rev 20) 00:14.0 0c03: 8086:a0ed (rev 20) 00:14.2 0500: 8086:a0ef (rev 20) - 00:14.3 0280: 8086:a0f0 (rev 20) 00:15.0 0c80: 8086:a0e8 (rev 20) - 00:15.1 0c80: 8086:a0e9 (rev 20) 00:16.0 0780: 8086:a0e0 (rev 20) + 00:16.3 0700: 8086:a0e3 (rev 20) 00:17.0 0106: 8086:a0d3 (rev 20) - 00:1d.0 0604: 8086:a0b1 (rev 20) - 00:1f.0 0601: 8086:a082 (rev 20) + 00:1c.0 0604: 8086:a0b8 (rev 20) + 00:1c.7 0604: 8086:a0bf (rev 20) + 00:1f.0 0601: 8086:a088 (rev 20) 00:1f.3 0403: 8086:a0c8 (rev 20) 00:1f.4 0c05: 8086:a0a3 (rev 20) 00:1f.5 0c80: 8086:a0a4 (rev 20) - 01:00.0 0108: 8086:f1a6 (rev 03) - 58:00.0 0200: 8086:15f2 (rev 03) + 00:1f.6 0200: 8086:15fb (rev 20) + 01:00.0 0108: 1bc0:1002 (rev 01) + 02:00.0 0200: 8086:15f2 (rev 03) - #define WAKE_VECTOR_32 0x40CDC00CUL - #define WAKE_VECTOR_64 0x40CDC018UL + #define WAKE_VECTOR_32 0x3F6A400CUL + #define WAKE_VECTOR_64 0x3F6A4018UL #define RESET_REGISTER_ADDRESS 0xCF9UL @@ -131,7 +121,7 @@ #define S5_PKG_RESERVED 0x0U - #define DRHD_COUNT 4U + #define DRHD_COUNT 2U #define DRHD0_DEV_CNT 0x1U #define DRHD0_SEGMENT 0x0U @@ -143,66 +133,29 @@ #define DRHD0_DEVSCOPE0_BUS 0x0U #define DRHD0_DEVSCOPE0_PATH 0x10U - #define DRHD1_DEV_CNT 0x1U + #define DRHD1_DEV_CNT 0x2U #define DRHD1_SEGMENT 0x0U - #define DRHD1_FLAGS 0x0U - #define DRHD1_REG_BASE 0xFED85000UL + #define DRHD1_FLAGS 0x1U + #define DRHD1_REG_BASE 0xFED91000UL #define DRHD1_IGNORE false - #define DRHD1_DEVSCOPE0_TYPE 0x2U - #define DRHD1_DEVSCOPE0_ID 0x0U + #define DRHD1_DEVSCOPE0_TYPE 0x3U + #define DRHD1_DEVSCOPE0_ID 0x2U #define DRHD1_DEVSCOPE0_BUS 0x0U - #define DRHD1_DEVSCOPE0_PATH 0x38U - - #define DRHD2_DEV_CNT 0x1U - #define DRHD2_SEGMENT 0x0U - #define DRHD2_FLAGS 0x0U - #define DRHD2_REG_BASE 0xFED86000UL - #define DRHD2_IGNORE false - #define DRHD2_DEVSCOPE0_TYPE 0x2U - #define DRHD2_DEVSCOPE0_ID 0x0U - #define DRHD2_DEVSCOPE0_BUS 0x0U - #define DRHD2_DEVSCOPE0_PATH 0x3aU - - #define DRHD3_DEV_CNT 0x2U - #define DRHD3_SEGMENT 0x0U - #define DRHD3_FLAGS 0x1U - #define DRHD3_REG_BASE 0xFED91000UL - #define DRHD3_IGNORE false - #define DRHD3_DEVSCOPE0_TYPE 0x3U - #define DRHD3_DEVSCOPE0_ID 0x2U - #define DRHD3_DEVSCOPE0_BUS 0x0U - #define DRHD3_DEVSCOPE0_PATH 0xf7U - #define DRHD3_DEVSCOPE1_TYPE 0x4U - #define DRHD3_DEVSCOPE1_ID 0x0U - #define DRHD3_DEVSCOPE1_BUS 0x0U - #define DRHD3_DEVSCOPE1_PATH 0xf6U + #define DRHD1_DEVSCOPE0_PATH 0xf7U + #define DRHD1_DEVSCOPE1_TYPE 0x4U + #define DRHD1_DEVSCOPE1_ID 0x0U + #define DRHD1_DEVSCOPE1_BUS 0x0U + #define DRHD1_DEVSCOPE1_PATH 0xf6U - "11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz" + "11th Gen Intel(R) Core(TM) i7-1185GRE @ 2.80GHz" - {{SPACE_FFixedHW, 0x01U, 0x02U, 0x01U, 0x00UL}, 0x01U, 0x01U, 0x00U}, /* C1 */ - {{SPACE_FFixedHW, 0x01U, 0x02U, 0x01U, 0x31UL}, 0x02U, 0xFDU, 0x00U}, /* C2 */ - {{SPACE_FFixedHW, 0x01U, 0x02U, 0x01U, 0x60UL}, 0x03U, 0x418U, 0x00U}, /* C3 */ + {{SPACE_FFixedHW, 0x00U, 0x00U, 0x00U, 0x00UL}, 0x01U, 0x00U, 0x00U}, /* C1 */ - {0x961UL, 0x00UL, 0x0AUL, 0x0AUL, 0x002A00UL, 0x002A00UL}, /* P0 */ - {0x960UL, 0x00UL, 0x0AUL, 0x0AUL, 0x001800UL, 0x001800UL}, /* P1 */ - {0x8FCUL, 0x00UL, 0x0AUL, 0x0AUL, 0x001700UL, 0x001700UL}, /* P2 */ - {0x834UL, 0x00UL, 0x0AUL, 0x0AUL, 0x001500UL, 0x001500UL}, /* P3 */ - {0x7D0UL, 0x00UL, 0x0AUL, 0x0AUL, 0x001400UL, 0x001400UL}, /* P4 */ - {0x708UL, 0x00UL, 0x0AUL, 0x0AUL, 0x001200UL, 0x001200UL}, /* P5 */ - {0x6A4UL, 0x00UL, 0x0AUL, 0x0AUL, 0x001100UL, 0x001100UL}, /* P6 */ - {0x5DCUL, 0x00UL, 0x0AUL, 0x0AUL, 0x000F00UL, 0x000F00UL}, /* P7 */ - {0x578UL, 0x00UL, 0x0AUL, 0x0AUL, 0x000E00UL, 0x000E00UL}, /* P8 */ - {0x514UL, 0x00UL, 0x0AUL, 0x0AUL, 0x000D00UL, 0x000D00UL}, /* P9 */ - {0x44CUL, 0x00UL, 0x0AUL, 0x0AUL, 0x000B00UL, 0x000B00UL}, /* P10 */ - {0x384UL, 0x00UL, 0x0AUL, 0x0AUL, 0x000900UL, 0x000900UL}, /* P11 */ - {0x320UL, 0x00UL, 0x0AUL, 0x0AUL, 0x000800UL, 0x000800UL}, /* P12 */ - {0x2BCUL, 0x00UL, 0x0AUL, 0x0AUL, 0x000700UL, 0x000700UL}, /* P13 */ - {0x1F4UL, 0x00UL, 0x0AUL, 0x0AUL, 0x000500UL, 0x000500UL}, /* P14 */ - {0x190UL, 0x00UL, 0x0AUL, 0x0AUL, 0x000400UL, 0x000400UL}, /* P15 */ + /* Px data is not available */ /* PCI mmcfg base of MCFG */ @@ -227,53 +180,63 @@ 00000000-00000000 : PCI Bus 0000:00 000e0000-000fffff : PCI Bus 0000:00 000f0000-000fffff : System ROM - 00100000-33e7dfff : System RAM - 33e7e000-33e7efff : Reserved - 33e7f000-3813afff : System RAM - 3813b000-40b55fff : Reserved - 40b56000-40c21fff : ACPI Tables - 40c22000-40cdffff : ACPI Non-volatile Storage - 40ce0000-417fefff : Reserved - 417ff000-417fffff : System RAM - 41800000-47ffffff : Reserved - 48f00000-4f7fffff : Reserved - 4b800000-4f7fffff : Graphics Stolen Memory - 4f800000-bfffffff : PCI Bus 0000:00 - 4f800000-4f800fff : 0000:00:1f.5 - 50000000-5c1fffff : PCI Bus 0000:2d - 5e000000-6a1fffff : PCI Bus 0000:02 - 6a200000-6a3fffff : PCI Bus 0000:58 - 6a200000-6a2fffff : 0000:58:00.0 - 6a200000-6a2fffff : igc - 6a300000-6a303fff : 0000:58:00.0 - 6a300000-6a303fff : igc - 6a400000-6a4fffff : PCI Bus 0000:01 - 6a400000-6a403fff : 0000:01:00.0 - 6a400000-6a403fff : nvme - 6a500000-6a501fff : 0000:00:17.0 - 6a500000-6a501fff : ahci - 6a502000-6a5027ff : 0000:00:17.0 - 6a502000-6a5027ff : ahci - 6a503000-6a5030ff : 0000:00:17.0 - 6a503000-6a5030ff : ahci + 00100000-37050017 : System RAM + 37050018-37081657 : System RAM + 37081658-389c7fff : System RAM + 389c8000-389c8fff : Reserved + 389c9000-396a5fff : System RAM + 396a6000-396a6fff : Reserved + 396a7000-3c420fff : System RAM + 3c421000-3f520fff : Reserved + 3f521000-3f5ecfff : ACPI Tables + 3f5ed000-3f6a5fff : ACPI Non-volatile Storage + 3f6a6000-4007efff : Reserved + 3ffb9d98-3ffb9d98 : wdat_wdt + 4007f000-4007ffff : System RAM + 40080000-40080fff : Reserved + 40081000-43efffff : System RAM + 43f00000-49ffffff : Reserved + 4a300000-4a3fffff : Reserved + 4b000000-503fffff : Reserved + 4c800000-503fffff : Graphics Stolen Memory + 50400000-bfffffff : PCI Bus 0000:00 + 50400000-506fffff : PCI Bus 0000:02 + 50400000-504fffff : 0000:02:00.0 + 50500000-505fffff : 0000:02:00.0 + 50500000-505fffff : igc + 50600000-50603fff : 0000:02:00.0 + 50600000-50603fff : igc + 50700000-507fffff : PCI Bus 0000:01 + 50700000-50703fff : 0000:01:00.0 + 50700000-50703fff : nvme + 50800000-5081ffff : 0000:00:1f.6 + 50800000-5081ffff : e1000e + 50820000-50821fff : 0000:00:17.0 + 50820000-50821fff : ahci + 50822000-508227ff : 0000:00:17.0 + 50822000-508227ff : ahci + 50823000-508230ff : 0000:00:17.0 + 50823000-508230ff : ahci + 50824000-50824fff : 0000:00:16.3 + 50825000-50825fff : 0000:00:1f.5 c0000000-cfffffff : PCI MMCONFIG 0000 [bus 00-ff] c0000000-cfffffff : Reserved - fd000000-fd68ffff : pnp 00:05 + fd000000-fd68ffff : pnp 00:0a fd690000-fd69ffff : INT34C5:00 fd690000-fd69ffff : INT34C5:00 INT34C5:00 fd6a0000-fd6affff : INT34C5:00 fd6a0000-fd6affff : INT34C5:00 INT34C5:00 - fd6b0000-fd6cffff : pnp 00:05 + fd6b0000-fd6cffff : pnp 00:0a fd6d0000-fd6dffff : INT34C5:00 fd6d0000-fd6dffff : INT34C5:00 INT34C5:00 fd6e0000-fd6effff : INT34C5:00 fd6e0000-fd6effff : INT34C5:00 INT34C5:00 - fd6f0000-fdffffff : pnp 00:05 + fd6f0000-fdffffff : pnp 00:0a fe000000-fe010fff : Reserved - fe04c000-fe04ffff : pnp 00:05 - fe050000-fe0affff : pnp 00:05 - fe0d0000-fe0fffff : pnp 00:05 - fe200000-fe7fffff : pnp 00:05 + fe04c000-fe04ffff : pnp 00:0a + fe050000-fe0affff : pnp 00:0a + fe0d0000-fe0fffff : pnp 00:0a + fe200000-fe7fffff : pnp 00:0a fec00000-fec00fff : Reserved fec00000-fec003ff : IOAPIC 0 fed00000-fed00fff : Reserved @@ -281,87 +244,76 @@ fed00000-fed003ff : PNP0103:00 fed20000-fed7ffff : Reserved fed40000-fed44fff : MSFT0101:00 - fed40000-fed44fff : MSFT0101:00 - fed85000-fed85fff : dmar1 - fed86000-fed86fff : dmar2 + fed40000-fed44fff : MSFT0101:00 MSFT0101:00 fed90000-fed90fff : dmar0 - fed91000-fed91fff : dmar3 - feda0000-feda0fff : pnp 00:04 - feda1000-feda1fff : pnp 00:04 - fedc0000-fedc7fff : pnp 00:04 + fed91000-fed91fff : dmar1 + feda0000-feda0fff : pnp 00:09 + feda1000-feda1fff : pnp 00:09 + fedc0000-fedc7fff : pnp 00:09 fee00000-fee00fff : Local APIC fee00000-fee00fff : Reserved ff000000-ffffffff : Reserved - ff000000-ffffffff : pnp 00:05 - 100000000-2b07fffff : System RAM - 228600000-229602556 : Kernel code - 229800000-22a23cfff : Kernel rodata - 22a400000-22a76637f : Kernel data - 22aa2c000-22affffff : Kernel bss - 2b0800000-2b3ffffff : RAM buffer + ff000000-ffffffff : pnp 00:0a + 100000000-86fbfffff : System RAM + 22fa00000-230a02666 : Kernel code + 230c00000-231640fff : Kernel rodata + 231800000-231b6e27f : Kernel data + 231e68000-2323fffff : Kernel bss + 86fc00000-86fffffff : RAM buffer 4000000000-7fffffffff : PCI Bus 0000:00 4000000000-400fffffff : 0000:00:02.0 4010000000-4016ffffff : 0000:00:02.0 - 4017000000-4017000fff : 0000:00:15.0 + 4017000000-4017000fff : 0000:00:10.0 4017000000-40170001ff : lpss_dev 4017000000-40170001ff : i2c_designware.0 lpss_dev 4017000200-40170002ff : lpss_priv - 4017000800-4017000fff : idma64.0 - 4017000800-4017000fff : idma64.0 idma64.0 - 4017001000-4017001fff : 0000:00:15.1 + 4017001000-4017001fff : 0000:00:15.0 4017001000-40170011ff : lpss_dev 4017001000-40170011ff : i2c_designware.1 lpss_dev 4017001200-40170012ff : lpss_priv 4017001800-4017001fff : idma64.1 4017001800-4017001fff : idma64.1 idma64.1 4020000000-40ffffffff : 0000:00:02.0 - 6000000000-601bffffff : PCI Bus 0000:2d - 6020000000-603bffffff : PCI Bus 0000:02 - 603c000000-603cffffff : 0000:00:02.0 - 603d000000-603d0fffff : 0000:00:1f.3 - 603d000000-603d0fffff : ICH HD audio - 603d100000-603d13ffff : 0000:00:0d.3 - 603d100000-603d13ffff : thunderbolt - 603d140000-603d17ffff : 0000:00:0d.2 - 603d140000-603d17ffff : thunderbolt - 603d180000-603d18ffff : 0000:00:14.0 - 603d180000-603d18ffff : xhci-hcd - 603d190000-603d19ffff : 0000:00:0d.0 - 603d190000-603d19ffff : xhci-hcd - 603d1a0000-603d1a3fff : 0000:00:1f.3 - 603d1a0000-603d1a3fff : ICH HD audio - 603d1a4000-603d1a7fff : 0000:00:14.3 - 603d1a4000-603d1a7fff : iwlwifi - 603d1a8000-603d1abfff : 0000:00:14.2 - 603d1ac000-603d1ac0ff : 0000:00:1f.4 - 603d1ad000-603d1adfff : 0000:00:16.0 - 603d1ad000-603d1adfff : mei_me - 603d1b0000-603d1b0fff : 0000:00:14.2 - 603d1b1000-603d1b1fff : 0000:00:0d.3 - 603d1b2000-603d1b2fff : 0000:00:0d.2 - 603d1b3000-603d1b3fff : 0000:00:08.0 + 6000000000-6000ffffff : 0000:00:02.0 + 6001000000-60010fffff : 0000:00:1f.3 + 6001000000-60010fffff : ICH HD audio + 6001100000-600110ffff : 0000:00:14.0 + 6001100000-600110ffff : xhci-hcd + 6001110000-600111ffff : 0000:00:0d.0 + 6001110000-600111ffff : xhci-hcd + 6001120000-6001123fff : 0000:00:1f.3 + 6001120000-6001123fff : ICH HD audio + 6001124000-6001127fff : 0000:00:14.2 + 6001128000-60011280ff : 0000:00:1f.4 + 6001129000-6001129fff : 0000:00:16.0 + 6001129000-6001129fff : mei_me + 600112b000-600112bfff : 0000:00:14.2 + /dev/sda2: TYPE="ext4" /dev/nvme0n1p2: TYPE="ext4" - /dev/sda3: TYPE="ext4" seri:/dev/ttyS0 type:portio base:0x3F8 irq:4 + seri:/dev/ttyS1 type:portio base:0x2F8 irq:3 + seri:/dev/ttyS2 type:portio base:0x3E8 irq:5 + seri:/dev/ttyS3 type:portio base:0x2E8 irq:6 + seri:/dev/ttyS4 type:portio base:0x30A0 irq:19 - 3, 5, 6, 7, 10, 11, 12, 13, 15 + 7, 10, 11, 13, 15 - 7759468 kB + 31584180 kB 0, 1, 2, 3 - 16 + 9 - + 0x6 0x8c Reserved @@ -372,6 +324,7 @@ + @@ -454,6 +407,7 @@ + @@ -761,15 +715,15 @@ - 8388608 + 12582912 64 - 8 + 12 16384 1 1 0 0 - 0 + 1 1 0x0 @@ -781,9 +735,10 @@ - - - + + + + @@ -793,11 +748,6 @@ - - \AMW0 - 0 - 5b821a5c414d5730085f4849440d504e503043313400085f55494400 - \CHUB 5b82165c43485542085f53544100085f4849440c25d4339b @@ -823,7 +773,7 @@ 0x8086 0x9a14 0x8086 - 0x3002 + 0x7270 0x060000 \_SB_.PC00 PNP0A03 @@ -846,7 +796,7 @@ - + @@ -862,12 +812,6 @@ - - - - - - @@ -877,6 +821,12 @@ + + + + + + @@ -992,10 +942,10 @@ - - - - + + + + @@ -1013,10 +963,10 @@ - - - - + + + + @@ -1034,10 +984,10 @@ - - - - + + + + @@ -1049,14 +999,14 @@ 0x8086 0x9a49 0x8086 - 0x3002 + 0x2212 0x030000 \_SB_.PC00.GFX0 5b821a5c2f035f53425f5043303047465830085f4144520c00000200 - + @@ -1080,6 +1030,10 @@ 0x9a49 0x553 + + \_SB_.PC00.GFX0.DD05 + 5b821b5c2f045f53425f504330304746583044443035085f4144520a05 + \_SB_.PC00.GFX0.DD06 5b821b5c2f045f53425f504330304746583044443036085f4144520a06 @@ -1140,10 +1094,6 @@ \_SB_.PC00.GFX0.DD04 5b821c5c2f045f53425f504330304746583044443034085f4144520b0303 - - \_SB_.PC00.GFX0.DD05 - 5b821c5c2f045f53425f504330304746583044443035085f4144520b0403 - \_SB_.PC00.GFX0.DD2F 5b821b5c2f045f53425f504330304746583044443246085f4144520a1f @@ -1157,10 +1107,7 @@ \_SB_.PC00.IPU0 5b821a5c2f035f53425f5043303049505530085f4144520c00000500 - - 0x8086 - 0x9a09 - 0x060400 + \_SB_.PC00.PEG0 5b82215c2f035f53425f5043303050454730085f5354410a0f085f4144520c00000600 @@ -1168,225 +1115,30 @@ y y - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - 0x8086 - 0xf1a6 - 0x8086 - 0x390b - 0x010802 - - - - - 8 - - - - - - - 16 - 1 - 0x1000000 - 1 - 0x0 - - - - - - - + + + + + + + + \_SB_.PC00.PEG0.PEGP - 5b8241065c2f045f53425f504330305045473050454750085f414452005b8050434358020a090a045b8115504343580150495858085343435808424343580814235041484308a01a934243435801a01293534343580a06a009935049585801a401a400 - \_SB_.PC00.PEG0.PEGP.MINI - - \_SB_.PC00.PEG0.PEGP.MINI - 5b824f045c2f055f53425f5043303050454730504547504d494e49155c2f055f53425f50433030504547305045475050414843080014135f53544108a00850414843a40a0fa103a400085f4144520bffff - - n - n - n - - \_SB_.PC00.PEG0.PEGP - + 5b821a5c2f045f53425f504330305045473050454750085f41445200 - - 0x8086 - 0x9a25 - 0x060400 - \_SB_.PC00.TRP1 - 5b82215c2f035f53425f5043303054525031085f5354410a0f085f4144520c00000700 - - y - y - y - - - - - - - 1 - - - - - - - - - - - - - - - - - \_SB_.PC00.TRP1.PXSX - 5b821a5c2f045f53425f504330305452503150585358085f41445200 - - - - \_SB_.PC00.TRP0 - 5b82205c2f035f53425f5043303054525030085f53544100085f4144520c01000700 - - n - n - n - - - - - - - - - - - \_SB_.PC00.TRP0.PXSX - 5b821a5c2f045f53425f504330305452503050585358085f41445200 - - - - 0x8086 - 0x9a27 - 0x060400 - \_SB_.PC00.TRP2 - 5b82215c2f035f53425f5043303054525032085f5354410a0f085f4144520c02000700 - - y - y - y - - - - - - - 1 - - - - - - - - - - - - - - - - - \_SB_.PC00.TRP2.PXSX - 5b821a5c2f045f53425f504330305452503250585358085f41445200 - - - - \_SB_.PC00.TRP3 - 5b82205c2f035f53425f5043303054525033085f53544100085f4144520c03000700 - - n - n - n - - - - - - - - - - - \_SB_.PC00.TRP3.PXSX - 5b821a5c2f045f53425f504330305452503350585358085f41445200 - - - - 0x8086 - 0x9a11 - 0x8086 - 0x3002 - 0x088000 + \_SB_.PC00.GNA0 5b821a5c2f035f53425f50433030474e4130085f4144520c00000800 - - - - 1 - - - - - + 0x8086 0x9a13 - 0x0000 - 0x0000 + 0x8086 + 0x7270 0x0c0330 - \_SB_.PC00.TXHC - 5b824f055c2f035f53425f5043303054584843085f5354410a0f085f53545211370a34490043004c0020004e006f0072007400680020005800480043004900200063006f006e00740072006f006c006c00650072000000085f4144520c00000d00 - - y - y - y - - + 8 @@ -1395,97 +1147,32 @@ - - \_SB_.PC00.TXHC.RHUB - 5b821a5c2f045f53425f504330305458484352485542085f41445200 - - \_SB_.PC00.TXHC.RHUB.HS01 - 5b821e5c2f055f53425f50433030545848435248554248533031085f41445201 - - - \_SB_.PC00.TXHC.RHUB.SS01 - 5b821f5c2f055f53425f50433030545848435248554253533031085f4144520a02 - - - \_SB_.PC00.TXHC.RHUB.SS02 - 5b821f5c2f055f53425f50433030545848435248554253533032085f4144520a03 - - - \_SB_.PC00.TXHC.RHUB.SS03 - 5b821f5c2f055f53425f50433030545848435248554253533033085f4144520a04 - - - \_SB_.PC00.TXHC.RHUB.SS04 - 5b821f5c2f055f53425f50433030545848435248554253533034085f4144520a05 - - - + 0x8086 - 0x9a1b - 0x2222 - 0x1111 - 0x0c0340 - \_SB_.PC00.TDM0 - 5b824b055c2f035f53425f5043303054444d30085f5354410a0f085f53545211330a30490043004c002000540042005400200044004d0041003000200063006f006e00740072006f006c006c00650072000000085f4144520c02000d00 - - y - y - y - - - - - - - 1 - - - - 16 - 5 - 0xfa20000 - 0 - 0x2000000 - - - - 0x8086 - 0x9a1d - 0x2222 - 0x1111 - 0x0c0340 - \_SB_.PC00.TDM1 - 5b824b055c2f035f53425f5043303054444d31085f5354410a0f085f53545211330a30490043004c002000540042005400200044004d0041003100200063006f006e00740072006f006c006c00650072000000085f4144520c03000d00 - - y - y - y - - - - - - - 1 - - - - 16 - 5 - 0xfa20000 - 0 - 0x2000000 - - - + 0xa0d8 + 0x8086 + 0x7270 + 0x0c8000 \_SB_.PC00.I2C6 5b821a5c2f035f53425f5043303049324336085f4144520c00001000 + + + + \_SB_.PC00.I2C7 5b821a5c2f035f53425f5043303049324337085f4144520c01001000 + + 0x8086 + 0xa0af + 0x8086 + 0x7270 + 0x060000 + + \_SB_.PC00.THC0 5b821a5c2f035f53425f5043303054484330085f4144520c06001000 @@ -1571,6 +1258,37 @@ \_SB_.PC00.SPI2 5b821a5c2f035f53425f5043303053504932085f4144520c06001200 + \_SB_.PC00.SPI2.S2DB + \_SB_.PC00.SPI2.S2DD + \_SB_.PC00.SPI2.TP3_ + \_SB_.PC00.SPI2.S2D3 + \_SB_.PC00.SPI2.S2D1 + \_SB_.PC00.SPI2.S2D0 + \_SB_.PC00.SPI2.S2D5 + \_SB_.PC00.SPI2.TP1_ + \_SB_.PC00.SPI2.S2D4 + \_SB_.PC00.SPI2.S2D2 + \_SB_.PC00.SPI2.S2DE + \_SB_.PC00.SPI2.TP2_ + \_SB_.PC00.SPI2.S2D6 + \_SB_.PC00.SPI2.S2D9 + \_SB_.PC00.SPI2.S2D8 + \_SB_.PC00.SPI2.S2D7 + \_SB_.PC00.SPI2.S2DC + \_SB_.PC00.SPI2.S2DA + + \_SB_.PC00.SPI2.S2D0 + SPI2001 + 1 + 5b8242075c2f045f53425f504330305350493253324430085f53544100085f4849440d5350493230303100085f4349440d5350493230303100085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0008000000005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + \_SB_.PC00.SPI2.FPNT 5b82295c2f045f53425f504330305350493246504e54085f53544100085f4849440d44554d593030303000 @@ -1580,6 +1298,224 @@ n + + \_SB_.PC00.SPI2.S2D1 + SPI2003 + 1 + 5b8242075c2f045f53425f504330305350493253324431085f53544100085f4849440d5350493230303300085f4349440d5350493230303300085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0008000100005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.S2D2 + SPI2002 + 1 + 5b8242075c2f045f53425f504330305350493253324432085f53544100085f4849440d5350493230303200085f4349440d5350493230303200085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0008010000005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.S2D3 + SPI2004 + 1 + 5b8242075c2f045f53425f504330305350493253324433085f53544100085f4849440d5350493230303400085f4349440d5350493230303400085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0008010100005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.S2D4 + SPI2005 + 1 + 5b8242075c2f045f53425f504330305350493253324434085f53544100085f4849440d5350493230303500085f4349440d5350493230303500085f55494401085f41445200085f43525311290a268e210001000202020001090040420f0008000000005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.S2D5 + SPI2007 + 1 + 5b8242075c2f045f53425f504330305350493253324435085f53544100085f4849440d5350493230303700085f4349440d5350493230303700085f55494401085f41445200085f43525311290a268e210001000202020001090040420f0008000100005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.S2D6 + SPI2006 + 1 + 5b8242075c2f045f53425f504330305350493253324436085f53544100085f4849440d5350493230303600085f4349440d5350493230303600085f55494401085f41445200085f43525311290a268e210001000202020001090040420f0008010000005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.S2D7 + SPI2008 + 1 + 5b8242075c2f045f53425f504330305350493253324437085f53544100085f4849440d5350493230303800085f4349440d5350493230303800085f55494401085f41445200085f43525311290a268e210001000202020001090040420f0008010100005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.S2D8 + SPI2009 + 1 + 5b8242075c2f045f53425f504330305350493253324438085f53544100085f4849440d5350493230303900085f4349440d5350493230303900085f55494401085f41445200085f43525311290a268e21000100020200000109008096980008000000005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.S2D9 + SPI2010 + 1 + 5b8242075c2f045f53425f504330305350493253324439085f53544100085f4849440d5350493230313000085f4349440d5350493230313000085f55494401085f41445200085f43525311290a268e21000100020200000109002a50fe0008000000005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.S2DA + SPI2011 + 1 + 5b8242075c2f045f53425f504330305350493253324441085f53544100085f4849440d5350493230313100085f4349440d5350493230313100085f55494401085f41445200085f43525311290a268e2100010002020000010900002d310108000000005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.S2DB + SPI2012 + 1 + 5b8242075c2f045f53425f504330305350493253324442085f53544100085f4849440d5350493230313200085f4349440d5350493230313200085f55494401085f41445200085f43525311290a268e210001000202000001090000366e0108000000005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.S2DC + SPI2013 + 1 + 5b8242075c2f045f53425f504330305350493253324443085f53544100085f4849440d5350493230313300085f4349440d5350493230313300085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0010000000005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.S2DD + SPI2014 + 1 + 5b8242075c2f045f53425f504330305350493253324444085f53544100085f4849440d5350493230313400085f4349440d5350493230313400085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0018000000005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.S2DE + SPI2015 + 1 + 5b8242075c2f045f53425f504330305350493253324445085f53544100085f4849440d5350493230313500085f4349440d5350493230313500085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0020000000005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.TP1_ + WITTTest + 5b8247065c2f045f53425f50433030535049325450315f085f53544100085f4849440d5350543030303100085f4349440d574954545465737400085f43525311290a268e210001000202000001090040420f0008000000005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.TP2_ + WITTTest + 5b8247065c2f045f53425f50433030535049325450325f085f53544100085f4849440d5350543030303200085f4349440d574954545465737400085f43525311290a268e2100010002020000010900404b4c0008000000005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + + + \_SB_.PC00.SPI2.TP3_ + WITTTest + 5b8247065c2f045f53425f50433030535049325450335f085f53544100085f4849440d5350543030303300085f4349440d574954545465737400085f43525311290a268e2100010002020000010900002d310108000000005c5f53422e504330302e53504932007900 + + n + n + n + + + \_SB_.PC00.SPI2 + \_SB_.PC00.SPI3 @@ -1601,12 +1537,12 @@ 0x8086 0xa0ed 0x8086 - 0x3002 + 0x7270 0x0c0330 \_SB_.PC00.XHCI 5b821a5c2f035f53425f5043303058484349085f4144520c00001400 - + 8 @@ -1633,14 +1569,6 @@ \_SB_.PC00.XHCI.RHUB.HS04 5b821f5c2f055f53425f50433030584843495248554248533034085f4144520a04 - - \_SB_.PC00.XHCI.RHUB.HS04.PRT1 - 5b82225c2f065f53425f5043303058484349524855424853303450525431085f41445201 - - - \_SB_.PC00.XHCI.RHUB.HS04.PRT2 - 5b82235c2f065f53425f5043303058484349524855424853303450525432085f4144520a02 - \_SB_.PC00.XHCI.RHUB.HS05 @@ -1715,60 +1643,152 @@ 0x8086 0xa0ef - 0x0000 - 0x0000 + 0x8086 + 0x7270 0x050000 - - + + - - 0x8086 - 0xa0f0 - 0x8086 - 0x0074 - 0x028000 + \_SB_.PC00.CNVW 5b821a5c2f035f53425f50433030434e5657085f4144520c03001400 - - - - - 1 - - - - - 16 - 1 - 0x10000000 - 1 - 0x0 - - - 0x8086 0xa0e8 0x8086 - 0x3002 + 0x7270 0x0c8000 \_SB_.PC00.I2C0 5b821a5c2f035f53425f5043303049324330085f4144520c00001500 - + - \_SB_.PC00.I2C1.TPD0 - \_SB_.PC00.I2C2.TPD0 - \_SB_.PC00.I2C1.TPL1 - \_SB_.PC00.I2C2.TPL1 + \_SB_.PC00.I2C0.EEP1 + \_SB_.PC00.I2C0.WT06 + \_SB_.PC00.I2C0.I0D1 + \_SB_.PC00.I2C0.WT04 \_SB_.PC00.I2C3.TPD0 - \_SB_.PC00.I2C1.UCM1 + \_SB_.PC00.I2C0.WT05 + \_SB_.PC00.I2C0.WT01 + \_SB_.PC00.I2C0.I0D0 + \_SB_.PC00.I2C1.TPD0 + \_SB_.PC00.I2C1.TPL1 + \_SB_.PC00.I2C0.PA01 \_SB_.PC00.I2C0.TPD0 \_SB_.PC00.I2C3.TPL1 + \_SB_.PC00.I2C2.TPL1 + \_SB_.PC00.I2C0.PA02 + \_SB_.PC00.I2C0.EEP0 + \_SB_.PC00.I2C0.I0D2 + \_SB_.PC00.I2C2.TPD0 + \_SB_.PC00.I2C0.WT02 + \_SB_.PC00.I2C0.PA03 \_SB_.PC00.I2C0.TPL1 + \_SB_.PC00.I2C0.WT03 + + \_SB_.PC00.I2C0.EEP0 + EEP0000 + 1 + 5b824f065c2f045f53425f504330304932433045455030085f53544100085f4849440d4545503030303000085f4349440d4545503030303000085f55494401085f41445200085f43525311260a238e1e0001000102000001060040420f0050005c5f53422e504330302e49324330007900 + + n + n + n + + + \_SB_.PC00.I2C0 + + + \_SB_.PC00.I2C0.EEP1 + EEP0004 + 1 + 5b824f065c2f045f53425f504330304932433045455031085f53544100085f4849440d4545503030303400085f4349440d4545503030303400085f55494401085f41445200085f43525311260a238e1e00010001020000010600801a060050005c5f53422e504330302e49324330007900 + + n + n + n + + + \_SB_.PC00.I2C0 + + + \_SB_.PC00.I2C0.I0D0 + IIC0001 + 1 + 5b824f065c2f045f53425f504330304932433049304430085f53544100085f4849440d4949433030303100085f4349440d4949433030303100085f55494401085f41445200085f43525311260a238e1e00010001020000010600a086010015005c5f53422e504330302e49324330007900 + + n + n + n + + + \_SB_.PC00.I2C0 + + + \_SB_.PC00.I2C0.I0D1 + IIC0002 + 1 + 5b824f065c2f045f53425f504330304932433049304431085f53544100085f4849440d4949433030303200085f4349440d4949433030303200085f55494401085f41445200085f43525311260a238e1e00010001020000010600801a060025005c5f53422e504330302e49324330007900 + + n + n + n + + + \_SB_.PC00.I2C0 + + + \_SB_.PC00.I2C0.I0D2 + IIC0003 + 1 + 5b824f065c2f045f53425f504330304932433049304432085f53544100085f4849440d4949433030303300085f4349440d4949433030303300085f55494401085f41445200085f43525311260a238e1e0001000102000001060040420f0035005c5f53422e504330302e49324330007900 + + n + n + n + + + \_SB_.PC00.I2C0 + + + \_SB_.PC00.I2C0.PA01 + 1 + 5b824c055c2f045f53425f504330304932433050413031085f53544100085f4849440d4d4348503139333000085f55494401085f43525311260a238e1e00010001020000010600801a06001f005c5f53422e504330302e49324330007900 + + n + n + n + + + \_SB_.PC00.I2C0 + + + \_SB_.PC00.I2C0.PA02 + 2 + 5b824d055c2f045f53425f504330304932433050413032085f53544100085f4849440d4d4348503139333000085f5549440a02085f43525311260a238e1e00010001020000010600801a060010005c5f53422e504330302e49324330007900 + + n + n + n + + + \_SB_.PC00.I2C0 + + + \_SB_.PC00.I2C0.PA03 + 3 + 5b824d055c2f045f53425f504330304932433050413033085f53544100085f4849440d4d4348503139333000085f5549440a03085f43525311260a238e1e00010001020000010600801a060011005c5f53422e504330302e49324330007900 + + n + n + n + + + \_SB_.PC00.I2C0 + \_SB_.PC00.I2C0.TPD0 PNP0C50 @@ -1795,20 +1815,159 @@ \_SB_.PC00.I2C0 + + \_SB_.PC00.I2C0.WT01 + WITTTest + 5b8244065c2f045f53425f504330304932433057543031085f53544100085f4849440d53544b3030303100085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600a08601007f005c5f53422e504330302e49324330007900 + + n + n + n + + + \_SB_.PC00.I2C0 + + + \_SB_.PC00.I2C0.WT02 + WITTTest + 5b8244065c2f045f53425f504330304932433057543032085f53544100085f4849440d53544b3030303200085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600a086010011005c5f53422e504330302e49324330007900 + + n + n + n + + + \_SB_.PC00.I2C0 + + + \_SB_.PC00.I2C0.WT03 + WITTTest + 5b8244065c2f045f53425f504330304932433057543033085f53544100085f4849440d53544b3030303300085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600801a060012005c5f53422e504330302e49324330007900 + + n + n + n + + + \_SB_.PC00.I2C0 + + + \_SB_.PC00.I2C0.WT04 + WITTTest + 5b8244065c2f045f53425f504330304932433057543034085f53544100085f4849440d53544b3030303400085f4349440d574954545465737400085f43525311260a238e1e0001000102000001060040420f0013005c5f53422e504330302e49324330007900 + + n + n + n + + + \_SB_.PC00.I2C0 + + + \_SB_.PC00.I2C0.WT05 + WITTTest + 5b8244065c2f045f53425f504330304932433057543035085f53544100085f4849440d53544b3030303500085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600c05c150014005c5f53422e504330302e49324330007900 + + n + n + n + + + \_SB_.PC00.I2C0 + + + \_SB_.PC00.I2C0.WT06 + WITTTest + 5b8244065c2f045f53425f504330304932433057543036085f53544100085f4849440d53544b3030303600085f4349440d574954545465737400085f43525311260a238e1e0001000102000001060040e1330015005c5f53422e504330302e49324330007900 + + n + n + n + + + \_SB_.PC00.I2C0 + - - 0x8086 - 0xa0e9 - 0x8086 - 0x3002 - 0x0c8000 + \_SB_.PC00.I2C1 5b821a5c2f035f53425f5043303049324331085f4144520c01001500 - - - - + \_SB_.PC00.I2C1.WT15 + \_SB_.PC00.I2C1.I1D0 \_SB_.PC00.FLM0 + \_SB_.PC00.I2C1.EEP3 + \_SB_.PC00.I2C1.WT12 + \_SB_.PC00.I2C1.WT14 + \_SB_.PC00.I2C1.I1D1 + \_SB_.PC00.I2C1.WT13 + \_SB_.PC00.I2C1.I1D2 + \_SB_.PC00.I2C1.WT16 + \_SB_.PC00.I2C1.EEP2 + \_SB_.PC00.I2C1.WT11 + + \_SB_.PC00.I2C1.EEP2 + EEP1000 + 1 + 5b824f065c2f045f53425f504330304932433145455032085f53544100085f4849440d4545503130303000085f4349440d4545503130303000085f55494401085f41445200085f43525311260a238e1e0001000102000001060040420f0050005c5f53422e504330302e49324331007900 + + n + n + n + + + \_SB_.PC00.I2C1 + + + \_SB_.PC00.I2C1.EEP3 + EEP1004 + 1 + 5b824f065c2f045f53425f504330304932433145455033085f53544100085f4849440d4545503130303400085f4349440d4545503130303400085f55494401085f41445200085f43525311260a238e1e00010001020000010600801a060050005c5f53422e504330302e49324331007900 + + n + n + n + + + \_SB_.PC00.I2C1 + + + \_SB_.PC00.I2C1.I1D0 + IIC1001 + 1 + 5b824f065c2f045f53425f504330304932433149314430085f53544100085f4849440d4949433130303100085f4349440d4949433130303100085f55494401085f41445200085f43525311260a238e1e00010001020000010600a086010015005c5f53422e504330302e49324331007900 + + n + n + n + + + \_SB_.PC00.I2C1 + + + \_SB_.PC00.I2C1.I1D1 + IIC1002 + 1 + 5b824f065c2f045f53425f504330304932433149314431085f53544100085f4849440d4949433130303200085f4349440d4949433130303200085f55494401085f41445200085f43525311260a238e1e00010001020000010600801a060025005c5f53422e504330302e49324331007900 + + n + n + n + + + \_SB_.PC00.I2C1 + + + \_SB_.PC00.I2C1.I1D2 + IIC1003 + 1 + 5b824f065c2f045f53425f504330304932433149314432085f53544100085f4849440d4949433130303300085f4349440d4949433130303300085f55494401085f41445200085f43525311260a238e1e0001000102000001060040420f0035005c5f53422e504330302e49324331007900 + + n + n + n + + + \_SB_.PC00.I2C1 + \_SB_.PC00.I2C1.TPD0 PNP0C50 @@ -1835,29 +1994,98 @@ \_SB_.PC00.I2C0 - - \_SB_.PC00.I2C1.UCM1 - 0 - 5b8247085c2f045f53425f504330304932433155434d31085f5354410a0f085f4849440d494e543335313500085f55494400085f4352531141050a4d8e1e00010001020000010600801a060021005c5f53422e504330302e49324330008e1e00010001020000010600801a060025005c5f53422e504330302e49324330008906000701760000007900 + + \_SB_.PC00.I2C1.WT11 + WITTTest + 5b8244065c2f045f53425f504330304932433157543131085f53544100085f4849440d53544b3030303100085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600a08601007f005c5f53422e504330302e49324331007900 - y - y - y + n + n + n - - - \_SB_.PC00.I2C0 + \_SB_.PC00.I2C1 + + + \_SB_.PC00.I2C1.WT12 + WITTTest + 5b8244065c2f045f53425f504330304932433157543132085f53544100085f4849440d53544b3030303200085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600a086010011005c5f53422e504330302e49324331007900 + + n + n + n + + + \_SB_.PC00.I2C1 + + + \_SB_.PC00.I2C1.WT13 + WITTTest + 5b8244065c2f045f53425f504330304932433157543133085f53544100085f4849440d53544b3030303300085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600801a060012005c5f53422e504330302e49324331007900 + + n + n + n + + + \_SB_.PC00.I2C1 + + + \_SB_.PC00.I2C1.WT14 + WITTTest + 5b8244065c2f045f53425f504330304932433157543134085f53544100085f4849440d53544b3030303400085f4349440d574954545465737400085f43525311260a238e1e0001000102000001060040420f0013005c5f53422e504330302e49324331007900 + + n + n + n + + + \_SB_.PC00.I2C1 + + + \_SB_.PC00.I2C1.WT15 + WITTTest + 5b8244065c2f045f53425f504330304932433157543135085f53544100085f4849440d53544b3030303500085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600c05c150014005c5f53422e504330302e49324331007900 + + n + n + n + + + \_SB_.PC00.I2C1 + + + \_SB_.PC00.I2C1.WT16 + WITTTest + 5b8244065c2f045f53425f504330304932433157543136085f53544100085f4849440d53544b3030303600085f4349440d574954545465737400085f43525311260a238e1e0001000102000001060040e1330015005c5f53422e504330302e49324331007900 + + n + n + n + + + \_SB_.PC00.I2C1 \_SB_.PC00.I2C2 5b821a5c2f035f53425f5043303049324332085f4144520c02001500 - \_SB_.PC00.I2C2.PMIC + \_SB_.PC00.I2C2.WT24 + \_SB_.PC00.I2C2.EEP5 + \_SB_.PC00.I2C2.WT25 + \_SB_.PC00.I2C2.EEP4 + \_SB_.PC00.I2C2.WT23 + \_SB_.PC00.I2C2.I2D1 \_SB_.PC00.FLM2 - \_SB_.PC00.FLM1 + \_SB_.PC00.I2C2.I2D2 + \_SB_.PC00.I2C2.WT22 + \_SB_.PC00.I2C2.WT26 + \_SB_.PC00.I2C2.I2D0 + \_SB_.PC00.I2C2.PMIC + \_SB_.PC00.I2C2.WT21 \_SB_.PC00.I2C2.CAM0 \_SB_.PC00.LNK2 + \_SB_.PC00.FLM1 \_SB_.PC00.I2C2.CAM0 INT3471 @@ -1876,6 +2104,71 @@ \_SB_.PC00.I2C2 + + \_SB_.PC00.I2C2.EEP4 + EEP2000 + 1 + 5b824f065c2f045f53425f504330304932433245455034085f53544100085f4849440d4545503230303000085f4349440d4545503230303000085f55494401085f41445200085f43525311260a238e1e0001000102000001060040420f0050005c5f53422e504330302e49324332007900 + + n + n + n + + + \_SB_.PC00.I2C2 + + + \_SB_.PC00.I2C2.EEP5 + EEP2004 + 1 + 5b824f065c2f045f53425f504330304932433245455035085f53544100085f4849440d4545503230303400085f4349440d4545503230303400085f55494401085f41445200085f43525311260a238e1e00010001020000010600801a060050005c5f53422e504330302e49324332007900 + + n + n + n + + + \_SB_.PC00.I2C2 + + + \_SB_.PC00.I2C2.I2D0 + IIC2001 + 1 + 5b824f065c2f045f53425f504330304932433249324430085f53544100085f4849440d4949433230303100085f4349440d4949433230303100085f55494401085f41445200085f43525311260a238e1e00010001020000010600a086010015005c5f53422e504330302e49324332007900 + + n + n + n + + + \_SB_.PC00.I2C2 + + + \_SB_.PC00.I2C2.I2D1 + IIC2002 + 1 + 5b824f065c2f045f53425f504330304932433249324431085f53544100085f4849440d4949433230303200085f4349440d4949433230303200085f55494401085f41445200085f43525311260a238e1e00010001020000010600801a060025005c5f53422e504330302e49324332007900 + + n + n + n + + + \_SB_.PC00.I2C2 + + + \_SB_.PC00.I2C2.I2D2 + IIC2003 + 1 + 5b824f065c2f045f53425f504330304932433249324432085f53544100085f4849440d4949433230303300085f4349440d4949433230303300085f55494401085f41445200085f43525311260a238e1e0001000102000001060040420f0035005c5f53422e504330302e49324332007900 + + n + n + n + + + \_SB_.PC00.I2C2 + \_SB_.PC00.I2C2.PMIC INT3472 @@ -1915,24 +2208,236 @@ \_SB_.PC00.I2C0 + + \_SB_.PC00.I2C2.WT21 + WITTTest + 5b8244065c2f045f53425f504330304932433257543231085f53544100085f4849440d53544b3030303100085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600a08601007f005c5f53422e504330302e49324332007900 + + n + n + n + + + \_SB_.PC00.I2C2 + + + \_SB_.PC00.I2C2.WT22 + WITTTest + 5b8244065c2f045f53425f504330304932433257543232085f53544100085f4849440d53544b3030303200085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600a086010011005c5f53422e504330302e49324332007900 + + n + n + n + + + \_SB_.PC00.I2C2 + + + \_SB_.PC00.I2C2.WT23 + WITTTest + 5b8244065c2f045f53425f504330304932433257543233085f53544100085f4849440d53544b3030303300085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600801a060012005c5f53422e504330302e49324332007900 + + n + n + n + + + \_SB_.PC00.I2C2 + + + \_SB_.PC00.I2C2.WT24 + WITTTest + 5b8244065c2f045f53425f504330304932433257543234085f53544100085f4849440d53544b3030303400085f4349440d574954545465737400085f43525311260a238e1e0001000102000001060040420f0013005c5f53422e504330302e49324332007900 + + n + n + n + + + \_SB_.PC00.I2C2 + + + \_SB_.PC00.I2C2.WT25 + WITTTest + 5b8244065c2f045f53425f504330304932433257543235085f53544100085f4849440d53544b3030303500085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600c05c150014005c5f53422e504330302e49324332007900 + + n + n + n + + + \_SB_.PC00.I2C2 + + + \_SB_.PC00.I2C2.WT26 + WITTTest + 5b8244065c2f045f53425f504330304932433257543236085f53544100085f4849440d53544b3030303600085f4349440d574954545465737400085f43525311260a238e1e0001000102000001060040e1330015005c5f53422e504330302e49324332007900 + + n + n + n + + + \_SB_.PC00.I2C2 + \_SB_.PC00.I2C3 5b821a5c2f035f53425f5043303049324333085f4144520c03001500 - \_SB_.PC00.CLP2 - \_SB_.PC00.CLP3 - \_SB_.PC00.FLM5 - \_SB_.PC00.LNK1 - \_SB_.PC00.CLP0 - \_SB_.PC00.FLM4 - \_SB_.PC00.LNK0 - \_SB_.PC00.LNK3 - \_SB_.PC00.LNK4 - \_SB_.PC00.FLM3 - \_SB_.PC00.LNK5 - \_SB_.PC00.CLP1 - \_SB_.PC00.CLP5 \_SB_.PC00.CLP4 + \_SB_.PC00.CLP3 + \_SB_.PC00.I2C3.PA04 + \_SB_.PC00.I2C3.WT33 + \_SB_.PC00.I2C3.I3D1 + \_SB_.PC00.CLP0 + \_SB_.PC00.I2C3.I3D0 + \_SB_.PC00.LNK5 + \_SB_.PC00.I2C3.WT35 + \_SB_.PC00.LNK1 + \_SB_.PC00.CLP2 + \_SB_.PC00.FLM5 + \_SB_.PC00.I2C3.I3D2 + \_SB_.PC00.I2C3.PA05 + \_SB_.PC00.LNK0 + \_SB_.PC00.I2C3.EEP6 + \_SB_.PC00.I2C3.WT32 + \_SB_.PC00.I2C3.WT36 + \_SB_.PC00.FLM3 + \_SB_.PC00.LNK3 + \_SB_.PC00.I2C3.PA02 + \_SB_.PC00.CLP5 + \_SB_.PC00.I2C3.PA03 + \_SB_.PC00.FLM4 + \_SB_.PC00.CLP1 + \_SB_.PC00.LNK4 + \_SB_.PC00.I2C3.PA01 + \_SB_.PC00.I2C3.EEP7 + \_SB_.PC00.I2C3.WT34 + + \_SB_.PC00.I2C3.EEP6 + EEP3000 + 1 + 5b824f065c2f045f53425f504330304932433345455036085f53544100085f4849440d4545503330303000085f4349440d4545503330303000085f55494401085f41445200085f43525311260a238e1e0001000102000001060040420f0050005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + + + \_SB_.PC00.I2C3.EEP7 + EEP3004 + 1 + 5b824f065c2f045f53425f504330304932433345455037085f53544100085f4849440d4545503330303400085f4349440d4545503330303400085f55494401085f41445200085f43525311260a238e1e00010001020000010600801a060050005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + + + \_SB_.PC00.I2C3.I3D0 + IIC3001 + 1 + 5b824f065c2f045f53425f504330304932433349334430085f53544100085f4849440d4949433330303100085f4349440d4949433330303100085f55494401085f41445200085f43525311260a238e1e00010001020000010600a086010015005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + + + \_SB_.PC00.I2C3.I3D1 + IIC3002 + 1 + 5b824f065c2f045f53425f504330304932433349334431085f53544100085f4849440d4949433330303200085f4349440d4949433330303200085f55494401085f41445200085f43525311260a238e1e00010001020000010600801a060025005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + + + \_SB_.PC00.I2C3.I3D2 + IIC3003 + 1 + 5b824f065c2f045f53425f504330304932433349334432085f53544100085f4849440d4949433330303300085f4349440d4949433330303300085f55494401085f41445200085f43525311260a238e1e0001000102000001060040420f0035005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + + + \_SB_.PC00.I2C3.PA01 + 1 + 5b824c055c2f045f53425f504330304932433350413031085f53544100085f4849440d4d4348503139333000085f55494401085f43525311260a238e1e00010001020000010600801a060010005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + + + \_SB_.PC00.I2C3.PA02 + 2 + 5b824d055c2f045f53425f504330304932433350413032085f53544100085f4849440d4d4348503139333000085f5549440a02085f43525311260a238e1e00010001020000010600801a060011005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + + + \_SB_.PC00.I2C3.PA03 + 3 + 5b824d055c2f045f53425f504330304932433350413033085f53544100085f4849440d4d4348503139333000085f5549440a03085f43525311260a238e1e00010001020000010600801a060012005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + + + \_SB_.PC00.I2C3.PA04 + 4 + 5b824d055c2f045f53425f504330304932433350413034085f53544100085f4849440d4d4348503139333000085f5549440a04085f43525311260a238e1e00010001020000010600801a060013005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + + + \_SB_.PC00.I2C3.PA05 + 5 + 5b824d055c2f045f53425f504330304932433350413035085f53544100085f4849440d4d4348503139333000085f5549440a05085f43525311260a238e1e00010001020000010600801a060014005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + \_SB_.PC00.I2C3.TPD0 PNP0C50 @@ -1959,17 +2464,87 @@ \_SB_.PC00.I2C0 + + \_SB_.PC00.I2C3.WT31 + WITTTest + 5b82375c2f045f53425f504330304932433357543331085f53544100085f4849440d53544b3030303100085f4349440d574954545465737400 + + n + n + n + + + + \_SB_.PC00.I2C3.WT32 + WITTTest + 5b8244065c2f045f53425f504330304932433357543332085f53544100085f4849440d53544b3030303200085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600a086010011005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + + + \_SB_.PC00.I2C3.WT33 + WITTTest + 5b8244065c2f045f53425f504330304932433357543333085f53544100085f4849440d53544b3030303300085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600801a060012005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + + + \_SB_.PC00.I2C3.WT34 + WITTTest + 5b8244065c2f045f53425f504330304932433357543334085f53544100085f4849440d53544b3030303400085f4349440d574954545465737400085f43525311260a238e1e0001000102000001060040420f0013005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + + + \_SB_.PC00.I2C3.WT35 + WITTTest + 5b8244065c2f045f53425f504330304932433357543335085f53544100085f4849440d53544b3030303500085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600c05c150014005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + + + \_SB_.PC00.I2C3.WT36 + WITTTest + 5b8244065c2f045f53425f504330304932433357543336085f53544100085f4849440d53544b3030303600085f4349440d574954545465737400085f43525311260a238e1e0001000102000001060040e1330015005c5f53422e504330302e49324333007900 + + n + n + n + + + \_SB_.PC00.I2C3 + 0x8086 0xa0e0 0x8086 - 0x3002 + 0x7270 0x078000 \_SB_.PC00.HECI 5b821a5c2f035f53425f5043303048454349085f4144520c00001600 - + 1 @@ -1977,6 +2552,21 @@ + + 0x8086 + 0xa0e3 + 0x8086 + 0x7270 + 0x070002 + + + + + 1 + + + + \_SB_.PC00.HEC3 5b821a5c2f035f53425f5043303048454333085f4144520c04001600 @@ -1985,7 +2575,7 @@ 0x8086 0xa0d3 0x8086 - 0x3002 + 0x7270 0x010601 \_SB_.PC00.SAT0 5b821a5c2f035f53425f5043303053415430085f4144520c00001700 @@ -1993,9 +2583,9 @@ - - - + + + 1 @@ -2053,7 +2643,18 @@ \_SB_.PC00.I2C4 5b821a5c2f035f53425f5043303049324334085f4144520c00001900 + \_SB_.PC00.I2C4.WT42 + \_SB_.PC00.I2C4.WT44 \_SB_.PC00.I2C4.CAM1 + \_SB_.PC00.I2C4.WT46 + \_SB_.PC00.I2C4.WT43 + \_SB_.PC00.I2C4.EEP8 + \_SB_.PC00.I2C4.WT41 + \_SB_.PC00.I2C4.I4D2 + \_SB_.PC00.I2C4.WT45 + \_SB_.PC00.I2C4.EEP9 + \_SB_.PC00.I2C4.I4D1 + \_SB_.PC00.I2C4.I4D0 \_SB_.PC00.I2C4.CAM1 INT3474 @@ -2067,14 +2668,227 @@ \_SB_.PC00.I2C4 + + \_SB_.PC00.I2C4.EEP8 + EEP4000 + 1 + 5b824f065c2f045f53425f504330304932433445455038085f53544100085f4849440d4545503430303000085f4349440d4545503430303000085f55494401085f41445200085f43525311260a238e1e0001000102000001060040420f0050005c5f53422e504330302e49324334007900 + + n + n + n + + + \_SB_.PC00.I2C4 + + + \_SB_.PC00.I2C4.EEP9 + EEP4004 + 1 + 5b824f065c2f045f53425f504330304932433445455039085f53544100085f4849440d4545503430303400085f4349440d4545503430303400085f55494401085f41445200085f43525311260a238e1e00010001020000010600801a060050005c5f53422e504330302e49324334007900 + + n + n + n + + + \_SB_.PC00.I2C4 + + + \_SB_.PC00.I2C4.I4D0 + IIC4001 + 1 + 5b824f065c2f045f53425f504330304932433449344430085f53544100085f4849440d4949433430303100085f4349440d4949433430303100085f55494401085f41445200085f43525311260a238e1e00010001020000010600a086010015005c5f53422e504330302e49324334007900 + + n + n + n + + + \_SB_.PC00.I2C4 + + + \_SB_.PC00.I2C4.I4D1 + IIC4002 + 1 + 5b824f065c2f045f53425f504330304932433449344431085f53544100085f4849440d4949433430303200085f4349440d4949433430303200085f55494401085f41445200085f43525311260a238e1e00010001020000010600801a060025005c5f53422e504330302e49324334007900 + + n + n + n + + + \_SB_.PC00.I2C4 + + + \_SB_.PC00.I2C4.I4D2 + IIC4003 + 1 + 5b824f065c2f045f53425f504330304932433449344432085f53544100085f4849440d4949433430303300085f4349440d4949433430303300085f55494401085f41445200085f43525311260a238e1e0001000102000001060040420f0035005c5f53422e504330302e49324334007900 + + n + n + n + + + \_SB_.PC00.I2C4 + + + \_SB_.PC00.I2C4.WT41 + WITTTest + 5b8244065c2f045f53425f504330304932433457543431085f53544100085f4849440d53544b3030303100085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600a08601007f005c5f53422e504330302e49324334007900 + + n + n + n + + + \_SB_.PC00.I2C4 + + + \_SB_.PC00.I2C4.WT42 + WITTTest + 5b8244065c2f045f53425f504330304932433457543432085f53544100085f4849440d53544b3030303200085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600a086010011005c5f53422e504330302e49324334007900 + + n + n + n + + + \_SB_.PC00.I2C4 + + + \_SB_.PC00.I2C4.WT43 + WITTTest + 5b8244065c2f045f53425f504330304932433457543433085f53544100085f4849440d53544b3030303300085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600801a060012005c5f53422e504330302e49324334007900 + + n + n + n + + + \_SB_.PC00.I2C4 + + + \_SB_.PC00.I2C4.WT44 + WITTTest + 5b8244065c2f045f53425f504330304932433457543434085f53544100085f4849440d53544b3030303400085f4349440d574954545465737400085f43525311260a238e1e0001000102000001060040420f0013005c5f53422e504330302e49324334007900 + + n + n + n + + + \_SB_.PC00.I2C4 + + + \_SB_.PC00.I2C4.WT45 + WITTTest + 5b8244065c2f045f53425f504330304932433457543435085f53544100085f4849440d53544b3030303500085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600c05c150014005c5f53422e504330302e49324334007900 + + n + n + n + + + \_SB_.PC00.I2C4 + + + \_SB_.PC00.I2C4.WT46 + WITTTest + 5b8244065c2f045f53425f504330304932433457543436085f53544100085f4849440d53544b3030303600085f4349440d574954545465737400085f43525311260a238e1e0001000102000001060040e1330015005c5f53422e504330302e49324334007900 + + n + n + n + + + \_SB_.PC00.I2C4 + \_SB_.PC00.I2C5 5b821a5c2f035f53425f5043303049324335085f4144520c01001900 - \_SB_.PC00.I2C5.PA03 - \_SB_.PC00.I2C5.PA01 - \_SB_.PC00.I2C5.PA04 + \_SB_.PC00.I2C5.I5D1 + \_SB_.PC00.I2C5.I5D0 \_SB_.PC00.I2C5.PA02 + \_SB_.PC00.I2C5.PA01 + \_SB_.PC00.I2C5.WT53 + \_SB_.PC00.I2C5.EEPA + \_SB_.PC00.I2C5.PA03 + \_SB_.PC00.I2C5.I5D2 + \_SB_.PC00.I2C5.EEPB + \_SB_.PC00.I2C5.PA04 + \_SB_.PC00.I2C5.WT51 + \_SB_.PC00.I2C5.WT55 + \_SB_.PC00.I2C5.WT54 + \_SB_.PC00.I2C5.WT56 + \_SB_.PC00.I2C5.WT52 + + \_SB_.PC00.I2C5.EEPA + EEP5000 + 1 + 5b824f065c2f045f53425f504330304932433545455041085f53544100085f4849440d4545503530303000085f4349440d4545503530303000085f55494401085f41445200085f43525311260a238e1e0001000102000001060040420f0050005c5f53422e504330302e49324335007900 + + n + n + n + + + \_SB_.PC00.I2C5 + + + \_SB_.PC00.I2C5.EEPB + EEP5004 + 1 + 5b824f065c2f045f53425f504330304932433545455042085f53544100085f4849440d4545503530303400085f4349440d4545503530303400085f55494401085f41445200085f43525311260a238e1e00010001020000010600801a060050005c5f53422e504330302e49324335007900 + + n + n + n + + + \_SB_.PC00.I2C5 + + + \_SB_.PC00.I2C5.I5D0 + IIC5001 + 1 + 5b824f065c2f045f53425f504330304932433549354430085f53544100085f4849440d4949433530303100085f4349440d4949433530303100085f55494401085f41445200085f43525311260a238e1e00010001020000010600a086010015005c5f53422e504330302e49324335007900 + + n + n + n + + + \_SB_.PC00.I2C5 + + + \_SB_.PC00.I2C5.I5D1 + IIC5002 + 1 + 5b824f065c2f045f53425f504330304932433549354431085f53544100085f4849440d4949433530303200085f4349440d4949433530303200085f55494401085f41445200085f43525311260a238e1e00010001020000010600801a060025005c5f53422e504330302e49324335007900 + + n + n + n + + + \_SB_.PC00.I2C5 + + + \_SB_.PC00.I2C5.I5D2 + IIC5003 + 1 + 5b824f065c2f045f53425f504330304932433549354432085f53544100085f4849440d4949433530303300085f4349440d4949433530303300085f55494401085f41445200085f43525311260a238e1e0001000102000001060040420f0035005c5f53422e504330302e49324335007900 + + n + n + n + + + \_SB_.PC00.I2C5 + \_SB_.PC00.I2C5.PA01 1 @@ -2123,10 +2937,120 @@ \_SB_.PC00.I2C5 + + \_SB_.PC00.I2C5.WT51 + WITTTest + 5b8244065c2f045f53425f504330304932433557543531085f53544100085f4849440d53544b3030303100085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600a08601007f005c5f53422e504330302e49324335007900 + + n + n + n + + + \_SB_.PC00.I2C5 + + + \_SB_.PC00.I2C5.WT52 + WITTTest + 5b8244065c2f045f53425f504330304932433557543532085f53544100085f4849440d53544b3030303200085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600a086010011005c5f53422e504330302e49324335007900 + + n + n + n + + + \_SB_.PC00.I2C5 + + + \_SB_.PC00.I2C5.WT53 + WITTTest + 5b8244065c2f045f53425f504330304932433557543533085f53544100085f4849440d53544b3030303300085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600801a060012005c5f53422e504330302e49324335007900 + + n + n + n + + + \_SB_.PC00.I2C5 + + + \_SB_.PC00.I2C5.WT54 + WITTTest + 5b8244065c2f045f53425f504330304932433557543534085f53544100085f4849440d53544b3030303400085f4349440d574954545465737400085f43525311260a238e1e0001000102000001060040420f0013005c5f53422e504330302e49324335007900 + + n + n + n + + + \_SB_.PC00.I2C5 + + + \_SB_.PC00.I2C5.WT55 + WITTTest + 5b8244065c2f045f53425f504330304932433557543535085f53544100085f4849440d53544b3030303500085f4349440d574954545465737400085f43525311260a238e1e00010001020000010600c05c150014005c5f53422e504330302e49324335007900 + + n + n + n + + + \_SB_.PC00.I2C5 + + + \_SB_.PC00.I2C5.WT56 + WITTTest + 5b8244065c2f045f53425f504330304932433557543536085f53544100085f4849440d53544b3030303600085f4349440d574954545465737400085f43525311260a238e1e0001000102000001060040e1330015005c5f53422e504330302e49324335007900 + + n + n + n + + + \_SB_.PC00.I2C5 + \_SB_.PC00.UA02 5b821a5c2f035f53425f5043303055413032085f4144520c02001900 + \_SB_.PC00.UA02.SER3 + \_SB_.PC00.UA02.UT21 + \_SB_.PC00.UA02.SER4 + + \_SB_.PC00.UA02.SER3 + 5b8249055c2f045f53425f504330305541303253455233085f53544100085f4849440d5345523230303200085f435253112a0a278e2200010003020800010a0000c201002000200002c05c5f53422e504330302e55413032007900 + + n + n + n + + + \_SB_.PC00.UA02 + + + \_SB_.PC00.UA02.SER4 + 5b8249055c2f045f53425f504330305541303253455234085f53544100085f4849440d5345523230303100085f435253112a0a278e2200010003022d00010a0000100e002000200001c05c5f53422e504330302e55413032007900 + + n + n + n + + + \_SB_.PC00.UA02 + + + \_SB_.PC00.UA02.UT21 + UARTTest + 0 + 5b824e065c2f045f53425f504330305541303255543231085f53544100085f4849440d55544b3030303100085f4349440d554152545465737400085f55494400085f435253112a0a278e2200010003023500010a0000c201004000400000c05c5f53422e504330302e55413032007900 + + n + n + n + + + \_SB_.PC00.UA02 + \_SB_.PC00.RP17 @@ -2256,17 +3180,65 @@ 5b821a5c2f045f53425f504330305250323450585358085f41445200 - + + 0x8086 + 0xa0b8 + 0x060400 \_SB_.PC00.RP01 5b821a5c2f035f53425f5043303052503031085f4144520c00001c00 - - - - - - - - + + + + + 1 + + + + + + + + + + + + + + + + + + + 0x1bc0 + 0x1002 + 0x1bc0 + 0x1002 + 0x010802 + + + + 32 + + + + + + + 9 + 1 + 0x0 + 1 + 0x0 + + + + + + + + + + \_SB_.PC00.RP01.PXSX 5b821a5c2f045f53425f504330305250303150585358085f41445200 @@ -2368,30 +3340,14 @@ 5b821a5c2f045f53425f504330305250303750585358085f41445200 - + + 0x8086 + 0xa0bf + 0x060400 \_SB_.PC00.RP08 5b821a5c2f035f53425f5043303052503038085f4144520c07001c00 - - - - - - - - - - \_SB_.PC00.RP08.PXSX - 5b821a5c2f045f53425f504330305250303850585358085f41445200 - - - - 0x8086 - 0xa0b1 - 0x060400 - \_SB_.PC00.RP10 - 5b821a5c2f035f53425f5043303052503130085f4144520c00001d00 - - + + 1 @@ -2401,27 +3357,26 @@ - - + - - - - + + + + - + 0x8086 0x15f2 0x8086 - 0x3002 + 0x0000 0x020000 - - - + + + 1 @@ -2444,13 +3399,13 @@ - \_SB_.PC00.RP10.PXSX - 5b821a5c2f045f53425f504330305250313050585358085f41445200 + \_SB_.PC00.RP08.PXSX + 5b821a5c2f045f53425f504330305250303850585358085f41445200 - + \_SB_.PC00.RP09 - 5b821a5c2f035f53425f5043303052503039085f4144520c01001d00 + 5b821a5c2f035f53425f5043303052503039085f4144520c00001d00 @@ -2464,6 +3419,22 @@ 5b821a5c2f045f53425f504330305250303950585358085f41445200 + + \_SB_.PC00.RP10 + 5b821a5c2f035f53425f5043303052503130085f4144520c01001d00 + + + + + + + + + + \_SB_.PC00.RP10.PXSX + 5b821a5c2f045f53425f504330305250313050585358085f41445200 + + \_SB_.PC00.RP11 5b821a5c2f035f53425f5043303052503131085f4144520c02001d00 @@ -2564,6 +3535,9 @@ \_SB_.PC00.UA00 5b821a5c2f035f53425f5043303055413030085f4144520c00001e00 \_SB_.PC00.UA00.BTH0 + \_SB_.PC00.UA00.UT01 + \_SB_.PC00.UA00.SER1 + \_SB_.PC00.UA00.SER0 \_SB_.PC00.UA00.BTH0 5b82400a5c2f045f53425f504330305541303042544830085f53544100085f4849440d494e543333453100085f4352531141070a6d8e2200010003023500010a0000c201002000200000c05c5f53422e504330302e55413030008c200001010100020000000000001700001900230000004d005c5f53422e47504930008c2000010001001300000000000017000019002300000000005c5f53422e47504930007900 @@ -2575,21 +3549,374 @@ - \_SB_.PC00.UA00 \_SB_.GPI0 + \_SB_.PC00.UA00 + + + \_SB_.PC00.UA00.SER0 + 5b8249055c2f045f53425f504330305541303053455230085f53544100085f4849440d5345523030303100085f435253112a0a278e2200010003022d00010a0000100e002000200001c05c5f53422e504330302e55413030007900 + + n + n + n + + + \_SB_.PC00.UA00 + + + \_SB_.PC00.UA00.SER1 + 5b8249055c2f045f53425f504330305541303053455231085f53544100085f4849440d5345523030303200085f435253112a0a278e2200010003020800010a0000c201002000200002c05c5f53422e504330302e55413030007900 + + n + n + n + + + \_SB_.PC00.UA00 + + + \_SB_.PC00.UA00.UT01 + UARTTest + 0 + 5b824e065c2f045f53425f504330305541303055543031085f53544100085f4849440d55544b3030303100085f4349440d554152545465737400085f55494400085f435253112a0a278e2200010003023500010a0000c201004000400000c05c5f53422e504330302e55413030007900 + + n + n + n + + + \_SB_.PC00.UA00 \_SB_.PC00.UA01 5b821a5c2f035f53425f5043303055413031085f4144520c01001e00 + \_SB_.PC00.UA01.UT11 + \_SB_.PC00.UA01.SER3 + \_SB_.PC00.UA01.SER2 + + \_SB_.PC00.UA01.SER2 + 5b8249055c2f045f53425f504330305541303153455232085f53544100085f4849440d5345523130303100085f435253112a0a278e2200010003023d00010a00008403002000200002c05c5f53422e504330302e55413031007900 + + n + n + n + + + \_SB_.PC00.UA01 + + + \_SB_.PC00.UA01.SER3 + 5b8249055c2f045f53425f504330305541303153455233085f53544100085f4849440d5345523130303200085f435253112a0a278e2200010003021400010a0000e100002000200001c05c5f53422e504330302e55413031007900 + + n + n + n + + + \_SB_.PC00.UA01 + + + \_SB_.PC00.UA01.UT11 + UARTTest + 0 + 5b824e065c2f045f53425f504330305541303155543131085f53544100085f4849440d55544b3030303100085f4349440d554152545465737400085f55494400085f435253112a0a278e2200010003023500010a0000c201004000400000c05c5f53422e504330302e55413031007900 + + n + n + n + + + \_SB_.PC00.UA01 + \_SB_.PC00.SPI0 5b821a5c2f035f53425f5043303053504930085f4144520c02001e00 + \_SB_.PC00.SPI0.S0DD + \_SB_.PC00.SPI0.S0D7 + \_SB_.PC00.SPI0.S0D3 + \_SB_.PC00.SPI0.TP2_ + \_SB_.PC00.SPI0.S0DC + \_SB_.PC00.SPI0.S0D9 + \_SB_.PC00.SPI0.S0D4 + \_SB_.PC00.SPI0.S0DB + \_SB_.PC00.SPI0.S0DE + \_SB_.PC00.SPI0.S0D5 + \_SB_.PC00.SPI0.S0D6 + \_SB_.PC00.SPI0.S0D8 + \_SB_.PC00.SPI0.S0D2 + \_SB_.PC00.SPI0.TP3_ + \_SB_.PC00.SPI0.TP1_ + \_SB_.PC00.SPI0.S0DA + \_SB_.PC00.SPI0.S0D0 + \_SB_.PC00.SPI0.S0D1 + + \_SB_.PC00.SPI0.S0D0 + SPI0001 + 1 + 5b8242075c2f045f53425f504330305350493053304430085f53544100085f4849440d5350493030303100085f4349440d5350493030303100085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0008000000005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.S0D1 + SPI0003 + 1 + 5b8242075c2f045f53425f504330305350493053304431085f53544100085f4849440d5350493030303300085f4349440d5350493030303300085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0008000100005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.S0D2 + SPI0002 + 1 + 5b8242075c2f045f53425f504330305350493053304432085f53544100085f4849440d5350493030303200085f4349440d5350493030303200085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0008010000005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.S0D3 + SPI0004 + 1 + 5b8242075c2f045f53425f504330305350493053304433085f53544100085f4849440d5350493030303400085f4349440d5350493030303400085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0008010100005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.S0D4 + SPI0005 + 1 + 5b8242075c2f045f53425f504330305350493053304434085f53544100085f4849440d5350493030303500085f4349440d5350493030303500085f55494401085f41445200085f43525311290a268e210001000202020001090040420f0008000000005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.S0D5 + SPI0007 + 1 + 5b8242075c2f045f53425f504330305350493053304435085f53544100085f4849440d5350493030303700085f4349440d5350493030303700085f55494401085f41445200085f43525311290a268e210001000202020001090040420f0008000100005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.S0D6 + SPI0006 + 1 + 5b8242075c2f045f53425f504330305350493053304436085f53544100085f4849440d5350493030303600085f4349440d5350493030303600085f55494401085f41445200085f43525311290a268e210001000202020001090040420f0008010000005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.S0D7 + SPI0008 + 1 + 5b8242075c2f045f53425f504330305350493053304437085f53544100085f4849440d5350493030303800085f4349440d5350493030303800085f55494401085f41445200085f43525311290a268e210001000202020001090040420f0008010100005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.S0D8 + SPI0009 + 1 + 5b8242075c2f045f53425f504330305350493053304438085f53544100085f4849440d5350493030303900085f4349440d5350493030303900085f55494401085f41445200085f43525311290a268e21000100020200000109008096980008000000005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.S0D9 + SPI0010 + 1 + 5b8242075c2f045f53425f504330305350493053304439085f53544100085f4849440d5350493030313000085f4349440d5350493030313000085f55494401085f41445200085f43525311290a268e21000100020200000109002a50fe0008000000005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.S0DA + SPI0011 + 1 + 5b8242075c2f045f53425f504330305350493053304441085f53544100085f4849440d5350493030313100085f4349440d5350493030313100085f55494401085f41445200085f43525311290a268e2100010002020000010900002d310108000000005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.S0DB + SPI0012 + 1 + 5b8242075c2f045f53425f504330305350493053304442085f53544100085f4849440d5350493030313200085f4349440d5350493030313200085f55494401085f41445200085f43525311290a268e210001000202000001090000366e0108000000005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.S0DC + SPI0013 + 1 + 5b8242075c2f045f53425f504330305350493053304443085f53544100085f4849440d5350493030313300085f4349440d5350493030313300085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0010000000005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.S0DD + SPI0014 + 1 + 5b8242075c2f045f53425f504330305350493053304444085f53544100085f4849440d5350493030313400085f4349440d5350493030313400085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0018000000005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.S0DE + SPI0015 + 1 + 5b8242075c2f045f53425f504330305350493053304445085f53544100085f4849440d5350493030313500085f4349440d5350493030313500085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0020000000005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.TP1_ + WITTTest + 5b8247065c2f045f53425f50433030535049305450315f085f53544100085f4849440d5350543030303100085f4349440d574954545465737400085f43525311290a268e210001000202000001090040420f0008000000005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.TP2_ + WITTTest + 5b8247065c2f045f53425f50433030535049305450325f085f53544100085f4849440d5350543030303200085f4349440d574954545465737400085f43525311290a268e2100010002020000010900404b4c0008000000005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + + + \_SB_.PC00.SPI0.TP3_ + WITTTest + 5b8247065c2f045f53425f50433030535049305450335f085f53544100085f4849440d5350543030303300085f4349440d574954545465737400085f43525311290a268e2100010002020000010900002d310108000000005c5f53422e504330302e53504930007900 + + n + n + n + + + \_SB_.PC00.SPI0 + \_SB_.PC00.SPI1 5b821a5c2f035f53425f5043303053504931085f4144520c03001e00 + \_SB_.PC00.SPI1.S1DB + \_SB_.PC00.SPI1.S1DE + \_SB_.PC00.SPI1.S1D9 + \_SB_.PC00.SPI1.S1D7 + \_SB_.PC00.SPI1.TP1_ + \_SB_.PC00.SPI1.S1D2 + \_SB_.PC00.SPI1.S1D4 + \_SB_.PC00.SPI1.S1DC + \_SB_.PC00.SPI1.S1D8 + \_SB_.PC00.SPI1.S1DA + \_SB_.PC00.SPI1.S1DD + \_SB_.PC00.SPI1.TP2_ + \_SB_.PC00.SPI1.S1D3 + \_SB_.PC00.SPI1.S1D6 + \_SB_.PC00.SPI1.S1D0 + \_SB_.PC00.SPI1.TP3_ + \_SB_.PC00.SPI1.S1D5 + \_SB_.PC00.SPI1.S1D1 + + \_SB_.PC00.SPI1.S1D0 + SPI1001 + 1 + 5b8242075c2f045f53425f504330305350493153314430085f53544100085f4849440d5350493130303100085f4349440d5350493130303100085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0008000000005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + \_SB_.PC00.SPI1.FPNT 5b82295c2f045f53425f504330305350493146504e54085f53544100085f4849440d44554d593030303000 @@ -2599,19 +3926,237 @@ n + + \_SB_.PC00.SPI1.S1D1 + SPI1003 + 1 + 5b8242075c2f045f53425f504330305350493153314431085f53544100085f4849440d5350493130303300085f4349440d5350493130303300085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0008000100005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.S1D2 + SPI1002 + 1 + 5b8242075c2f045f53425f504330305350493153314432085f53544100085f4849440d5350493130303200085f4349440d5350493130303200085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0008010000005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.S1D3 + SPI1004 + 1 + 5b8242075c2f045f53425f504330305350493153314433085f53544100085f4849440d5350493130303400085f4349440d5350493130303400085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0008010100005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.S1D4 + SPI1005 + 1 + 5b8242075c2f045f53425f504330305350493153314434085f53544100085f4849440d5350493130303500085f4349440d5350493130303500085f55494401085f41445200085f43525311290a268e210001000202020001090040420f0008000000005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.S1D5 + SPI1007 + 1 + 5b8242075c2f045f53425f504330305350493153314435085f53544100085f4849440d5350493130303700085f4349440d5350493130303700085f55494401085f41445200085f43525311290a268e210001000202020001090040420f0008000100005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.S1D6 + SPI1006 + 1 + 5b8242075c2f045f53425f504330305350493153314436085f53544100085f4849440d5350493130303600085f4349440d5350493130303600085f55494401085f41445200085f43525311290a268e210001000202020001090040420f0008010000005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.S1D7 + SPI1008 + 1 + 5b8242075c2f045f53425f504330305350493153314437085f53544100085f4849440d5350493130303800085f4349440d5350493130303800085f55494401085f41445200085f43525311290a268e210001000202020001090040420f0008010100005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.S1D8 + SPI1009 + 1 + 5b8242075c2f045f53425f504330305350493153314438085f53544100085f4849440d5350493130303900085f4349440d5350493130303900085f55494401085f41445200085f43525311290a268e21000100020200000109008096980008000000005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.S1D9 + SPI1010 + 1 + 5b8242075c2f045f53425f504330305350493153314439085f53544100085f4849440d5350493130313000085f4349440d5350493130313000085f55494401085f41445200085f43525311290a268e21000100020200000109002a50fe0008000000005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.S1DA + SPI1011 + 1 + 5b8242075c2f045f53425f504330305350493153314441085f53544100085f4849440d5350493130313100085f4349440d5350493130313100085f55494401085f41445200085f43525311290a268e2100010002020000010900002d310108000000005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.S1DB + SPI1012 + 1 + 5b8242075c2f045f53425f504330305350493153314442085f53544100085f4849440d5350493130313200085f4349440d5350493130313200085f55494401085f41445200085f43525311290a268e210001000202000001090000366e0108000000005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.S1DC + SPI1013 + 1 + 5b8242075c2f045f53425f504330305350493153314443085f53544100085f4849440d5350493130313300085f4349440d5350493130313300085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0010000000005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.S1DD + SPI1014 + 1 + 5b8242075c2f045f53425f504330305350493153314444085f53544100085f4849440d5350493130313400085f4349440d5350493130313400085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0018000000005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.S1DE + SPI1015 + 1 + 5b8242075c2f045f53425f504330305350493153314445085f53544100085f4849440d5350493130313500085f4349440d5350493130313500085f55494401085f41445200085f43525311290a268e210001000202000001090040420f0020000000005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.TP1_ + WITTTest + 5b8247065c2f045f53425f50433030535049315450315f085f53544100085f4849440d5350543030303100085f4349440d574954545465737400085f43525311290a268e210001000202000001090040420f0008000000005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.TP2_ + WITTTest + 5b8247065c2f045f53425f50433030535049315450325f085f53544100085f4849440d5350543030303200085f4349440d574954545465737400085f43525311290a268e2100010002020000010900404b4c0008000000005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + + + \_SB_.PC00.SPI1.TP3_ + WITTTest + 5b8247065c2f045f53425f50433030535049315450335f085f53544100085f4849440d5350543030303300085f4349440d574954545465737400085f43525311290a268e2100010002020000010900002d310108000000005c5f53422e504330302e53504931007900 + + n + n + n + + + \_SB_.PC00.SPI1 + - + 0x8086 - 0xa082 + 0xa088 0x8086 - 0x3002 + 0x7270 0x060100 \_SB_.PC00.LPCB 5b821a5c2f035f53425f504330304c504342085f4144520c00001f00 - + \_SB_.PC00.LPCB.CWDT PNP0C02 - 5b8248045c2f045f53425f504330304c50434243574454085f5354410a0f085f4849440d494e54433130323800085f4349440c41d00c02085f435253110d0a0a47015418541804047900 + 5b8243045c2f045f53425f504330304c50434243574454085f5354410a0f085f4849440c25d43f0d085f4349440c41d00c02085f435253110d0a0a47015418541804047900 y y @@ -2619,6 +4164,16 @@ + + \_SB_.PC00.LPCB.HHMD + 1 + 5b822a5c2f045f53425f504330304c50434248484d44085f53544100085f4849440c41d00c08085f55494401 + + n + n + n + + \_SB_.PC00.LPCB.HPET 0 @@ -2633,14 +4188,12 @@ \_SB_.PC00.LPCB.H_EC 1 - 5b8247045c2f045f53425f504330304c504342485f4543085f5354410a0b085f4849440c41d00c09085f55494401085f43525311150a12470162006200000147016600660000017900 + 5b822a5c2f045f53425f504330304c504342485f4543085f53544100085f4849440c41d00c09085f55494401 - y - y - y + n + n + n - - \_SB_.PC00.LPCB.H_EC.BAT0 0 @@ -2722,6 +4275,32 @@ + + \_SB_.PC00.LPCB.PS2K + PNP030B + 0 + 5b8244055c2f045f53425f504330304c5043425053324b085f5354410a0f085f4849440c41d00303085f4349440c41d0030b085f55494400085f43525311180a15470160006000000147016400640000012202007900 + + y + y + y + + + + + + + \_SB_.PC00.LPCB.PS2M + PNP0F13 + 0 + 5b8244045c2f045f53425f504330304c5043425053324d085f5354410a0f085f4849440c41d00f03085f4349440c41d00f13085f55494400085f43525311080a052200107900 + + y + y + y + + + \_SB_.PC00.LPCB.RTC_ 5b823a5c2f045f53425f504330304c5043425254435f085f53544100085f4849440c41d00b00085f43525311100a0d47017000700001082200017900 @@ -2733,28 +4312,25 @@ - - \_SB_.PC00.LPCB.SIO1 - 0 - 5b8248065c2f045f53425f504330304c50434253494f31085f4849440c41d00c02085f55494400085f435253113d0a3a47010000000000004701000a000a00104701100a100a00204701300a300a00204701500a500a00204701700a700a00104701800a800a00107900 - - - - - - - - - \_SB_.PC00.LPCB.SSMF - 1 - 5b822a5c2f045f53425f504330304c50434253534d46085f53544100085f4849440c41d00c08085f55494401 + \_SB_.PC00.LPCB.SGPI + 2 + 5b822b5c2f045f53425f504330304c50434253475049085f53544100085f4849440c41d00c08085f5549440a02 n n n + + \_SB_.PC00.LPCB.SIO1 + 0 + 5b8240055c2f045f53425f504330304c50434253494f31085f4849440c41d00c02085f55494400085f43525311250a2247010000000000004701000a000a00304701300a300a00104701400a400a00107900 + + + + + \_SB_.PC00.LPCB.TIMR 5b823c5c2f045f53425f504330304c50434254494d52085f4849440c41d00100085f43525311180a15470140004000010447015000500010042201007900 @@ -2765,37 +4341,76 @@ \_SB_.PC00.LPCB.UAR1 0 - 5b8245045c2f045f53425f504330304c50434255415231085f5354410a0f085f4849440c41d00501085f55494400085f43525311130a104701f803f80301082210002a00007900 + 5b8244045c2f045f53425f504330304c50434255415231085f53544100085f4849440c41d00501085f55494400085f43525311130a104701e802e80201082240002a00007900 + + n + n + n + + + + + + + \_SB_.PC00.LPCB.UAR2 + 1 + 5b8245045c2f045f53425f504330304c50434255415232085f5354410a0f085f4849440c41d00501085f55494401085f43525311130a104701e802e80201082240002a00007900 y y y - - + + + + + \_SB_.PC00.LPCB.UAR3 + 2 + 5b8247045c2f045f53425f504330304c50434255415233085f5354410a0f085f4849440c41d00501085f5549440a02085f43525311140a114701e802e8020108234000192a00007900 + + y + y + y + + + + + + + \_SB_.PC00.LPCB.UAR4 + 3 + 5b8247045c2f045f53425f504330304c50434255415234085f5354410a0f085f4849440c41d00501085f5549440a03085f43525311140a114701e802e8020108234000192a00007900 + + y + y + y + + + + 0x8086 0xa0c8 0x8086 - 0x3002 + 0x7270 0x040300 \_SB_.PC00.HDAS 5b821a5c2f035f53425f5043303048444153085f4144520c03001f00 - - + + 1 - + \_SB_.PC00.HDAS.IDA_ - 5b821a5c2f045f53425f50433030484441534944415f085f41445200 + 5b821e5c2f045f53425f50433030484441534944415f085f4144520c00000010 \_SB_.PC00.HDAS.SNDW @@ -2856,21 +4471,37 @@ 0x8086 0xa0a3 0x8086 - 0x3002 + 0x7270 0x0c0500 \_SB_.PC00.SBUS 5b821a5c2f035f53425f5043303053425553085f4144520c04001f00 - + 0x8086 0xa0a4 0x8086 - 0x3002 + 0x7270 0x0c8000 - + + + + 0x8086 + 0x15fb + 0x8086 + 0x0000 + 0x020000 + \_SB_.PC00.GLAN + 5b821a5c2f035f53425f50433030474c414e085f4144520c06001f00 + + + + + 1 + + \_SB_.PC00.PTHT @@ -3050,8 +4681,8 @@ - \_SB_.PC00.I2C1 \_SB_.GPI0 + \_SB_.PC00.I2C1 \_SB_.PC00.FLM1 @@ -3065,8 +4696,8 @@ - \_SB_.GPI0 \_SB_.PC00.I2C2 + \_SB_.GPI0 \_SB_.PC00.FLM2 @@ -3080,8 +4711,8 @@ - \_SB_.GPI0 \_SB_.PC00.I2C2 + \_SB_.GPI0 \_SB_.PC00.FLM3 @@ -3095,8 +4726,8 @@ - \_SB_.PC00.I2C3 \_SB_.GPI0 + \_SB_.PC00.I2C3 \_SB_.PC00.FLM4 @@ -3110,8 +4741,8 @@ - \_SB_.PC00.I2C3 \_SB_.GPI0 + \_SB_.PC00.I2C3 \_SB_.PC00.FLM5 @@ -3125,8 +4756,8 @@ - \_SB_.PC00.I2C3 \_SB_.GPI0 + \_SB_.PC00.I2C3 \_SB_.PC00.LNK0 @@ -3146,11 +4777,11 @@ \_SB_.PC00.LNK1 SONY488A 1 - 5b824d065c2f035f53425f504330304c4e4b31085f53544100085f4849440d534f4e593438384100085f4349440d534f4e593438384100085f55494401085f41445200085f43525311260a238e1e00010001020000010600801a060037005c5f53422e504330302e49324333007900 + 5b824e065c2f035f53425f504330304c4e4b31085f5354410a0f085f4849440d534f4e593438384100085f4349440d534f4e593438384100085f55494401085f41445200085f43525311260a238e1e00010001020000010600801a060037005c5f53422e504330302e49324333007900 - n - n - n + y + y + y \_SB_.PC00.I2C3 @@ -3279,18 +4910,18 @@ - \_SB_.PC00.DSC2 - \_SB_.PC00.DSC4 - \_SB_.PC00.FLM2 - \_SB_.PC00.UA00.BTH0 - \_SB_.PC00.FLM5 - \_SB_.PC00.FLM1 - \_SB_.PC00.DSC5 - \_SB_.PC00.DSC1 - \_SB_.PC00.FLM0 - \_SB_.PC00.FLM3 - \_SB_.PC00.FLM4 \_SB_.PC00.DSC3 + \_SB_.PC00.DSC4 + \_SB_.PC00.UA00.BTH0 + \_SB_.PC00.FLM4 + \_SB_.PC00.FLM0 + \_SB_.PC00.DSC2 + \_SB_.PC00.FLM2 + \_SB_.PC00.FLM3 + \_SB_.PC00.DSC1 + \_SB_.PC00.FLM5 + \_SB_.PC00.DSC5 + \_SB_.PC00.FLM1 \_SB_.HIDD @@ -3486,18 +5117,19 @@ \_SB_.TPM_ 1 - 5b8246065c2e5f53425f54504d5f085f5354410a0f085f4849440d4d5346543031303100085f55494401085f53545211210a1e540050004d00200032002e00300020004400650076006900630065000000085f43525311110a0e860900010000d4fe005000007900 + 5b824f065c2e5f53425f54504d5f085f5354410a0f085f4849440d4d5346543031303100085f55494401085f53545211210a1e540050004d00200032002e00300020004400650076006900630065000000085f435253111a0a17860900010000d4fe005000008906000d011c0000007900 y y y + - 0xfed40040 + 0x0 - 0x7 + 0x6 0x0 0x0 0x0 @@ -3513,7 +5145,7 @@ 0x10000 - 0x40cab000 + 0x3f673000 @@ -3580,10 +5212,22 @@ Power Button LNXPWRBN/button/input0 + + Raritan D2CIM-DVUSB + usb-0000:00:14.0-4.2/input0 + + + Raritan D2CIM-DVUSB + usb-0000:00:14.0-4.2/input1 + Video Bus LNXVIDEO/video/input0 + + Raritan D2CIM-DVUSB + usb-0000:00:14.0-4.2/input2 + HDA Intel PCH HDMI/DP,pcm=3 ALSA @@ -3628,6 +5272,10 @@ HDA Intel PCH HDMI/DP,pcm=16 ALSA + + HDA Intel PCH HDMI/DP,pcm=17 + ALSA + @@ -3636,19 +5284,19 @@ /dev/ttyS1 - 0 + 4 /dev/ttyS2 - 0 + 4 /dev/ttyS3 - 0 + 4 /dev/ttyS4 - 0 + 4 /dev/ttyS5 diff --git a/misc/config_tools/data/generic_board/generic_code/boards/board.c b/misc/config_tools/data/generic_board/generic_code/boards/board.c index 7fd2e28db..81ffbb3e8 100644 --- a/misc/config_tools/data/generic_board/generic_code/boards/board.c +++ b/misc/config_tools/data/generic_board/generic_code/boards/board.c @@ -6,20 +6,21 @@ /* * BIOS Information - * Vendor: Intel Corp. - * Version: TNTGL357.0042.2020.1221.1743 - * Release Date: 12/21/2020 + * Vendor: American Megatrends International, LLC. + * Version: E5000XXU3F00105-BPCIe + * Release Date: 08/25/2021 * BIOS Revision: 5.19 * * Base Board Information - * Manufacturer: Intel Corporation - * Product Name: NUC11TNBi5 - * Version: M11904-403 + * Manufacturer: Default string + * Product Name: Default string + * Version: Default string */ #include #include #include +#include #include #include @@ -39,29 +40,11 @@ static struct dmar_dev_scope drhd1_dev_scope[DRHD1_DEV_CNT] = { .bus = DRHD1_DEVSCOPE0_BUS, .devfun = DRHD1_DEVSCOPE0_PATH, }, -}; - -static struct dmar_dev_scope drhd2_dev_scope[DRHD2_DEV_CNT] = { { - .type = DRHD2_DEVSCOPE0_TYPE, - .id = DRHD2_DEVSCOPE0_ID, - .bus = DRHD2_DEVSCOPE0_BUS, - .devfun = DRHD2_DEVSCOPE0_PATH, - }, -}; - -static struct dmar_dev_scope drhd3_dev_scope[DRHD3_DEV_CNT] = { - { - .type = DRHD3_DEVSCOPE0_TYPE, - .id = DRHD3_DEVSCOPE0_ID, - .bus = DRHD3_DEVSCOPE0_BUS, - .devfun = DRHD3_DEVSCOPE0_PATH, - }, - { - .type = DRHD3_DEVSCOPE1_TYPE, - .id = DRHD3_DEVSCOPE1_ID, - .bus = DRHD3_DEVSCOPE1_BUS, - .devfun = DRHD3_DEVSCOPE1_PATH, + .type = DRHD1_DEVSCOPE1_TYPE, + .id = DRHD1_DEVSCOPE1_ID, + .bus = DRHD1_DEVSCOPE1_BUS, + .devfun = DRHD1_DEVSCOPE1_PATH, }, }; @@ -82,22 +65,6 @@ static struct dmar_drhd drhd_info_array[DRHD_COUNT] = { .ignore = DRHD1_IGNORE, .devices = drhd1_dev_scope }, - { - .dev_cnt = DRHD2_DEV_CNT, - .segment = DRHD2_SEGMENT, - .flags = DRHD2_FLAGS, - .reg_base_addr = DRHD2_REG_BASE, - .ignore = DRHD2_IGNORE, - .devices = drhd2_dev_scope - }, - { - .dev_cnt = DRHD3_DEV_CNT, - .segment = DRHD3_SEGMENT, - .flags = DRHD3_FLAGS, - .reg_base_addr = DRHD3_REG_BASE, - .ignore = DRHD3_IGNORE, - .devices = drhd3_dev_scope - }, }; struct dmar_info plat_dmar_info = { @@ -106,41 +73,122 @@ struct dmar_info plat_dmar_info = { }; #ifdef CONFIG_RDT_ENABLED -struct platform_clos_info platform_l2_clos_array[MAX_CACHE_CLOS_NUM_ENTRIES]; -struct platform_clos_info platform_l3_clos_array[MAX_CACHE_CLOS_NUM_ENTRIES]; -struct platform_clos_info platform_mba_clos_array[MAX_MBA_CLOS_NUM_ENTRIES]; +union clos_config platform_l2_clos_array_0[8] = { +}; + +union clos_config platform_l2_clos_array_1[8] = { +}; + +union clos_config platform_l2_clos_array_2[8] = { +}; + +union clos_config platform_l2_clos_array_3[8] = { +}; + +union clos_config platform_l3_clos_array[MAX_CACHE_CLOS_NUM_ENTRIES]; +union clos_config platform_mba_clos_array[MAX_MBA_CLOS_NUM_ENTRIES]; +struct rdt_ins rdt_ins_l2[4] = { + { + .res.cache = { + .bitmask = 0xfffff, + .cbm_len = 20, + .is_cdp_enabled = false, + }, + .num_closids = 8, + .num_clos_config = 0, + .clos_config_array = platform_l2_clos_array_0, + .cpu_mask = 0x1, + }, + { + .res.cache = { + .bitmask = 0xfffff, + .cbm_len = 20, + .is_cdp_enabled = false, + }, + .num_closids = 8, + .num_clos_config = 0, + .clos_config_array = platform_l2_clos_array_1, + .cpu_mask = 0x2, + }, + { + .res.cache = { + .bitmask = 0xfffff, + .cbm_len = 20, + .is_cdp_enabled = false, + }, + .num_closids = 8, + .num_clos_config = 0, + .clos_config_array = platform_l2_clos_array_2, + .cpu_mask = 0x4, + }, + { + .res.cache = { + .bitmask = 0xfffff, + .cbm_len = 20, + .is_cdp_enabled = false, + }, + .num_closids = 8, + .num_clos_config = 0, + .clos_config_array = platform_l2_clos_array_3, + .cpu_mask = 0x8, + }, +}; + +struct rdt_type res_cap_info[RDT_NUM_RESOURCES] = { + { + .res_id = RDT_RESID_L2, + .msr_qos_cfg = MSR_IA32_L2_QOS_CFG, + .msr_base = MSR_IA32_L2_MASK_BASE, + .num_ins = 4, + .ins_array = rdt_ins_l2, + }, +}; + #endif -static const struct acrn_cstate_data board_cpu_cx[3] = { - {{SPACE_FFixedHW, 0x00U, 0x00U, 0x00U, 0x00UL}, 0x01U, 0x01U, 0x00U}, /* C1 */ - {{SPACE_SYSTEM_IO, 0x08U, 0x00U, 0x00U, 0x1816UL}, 0x02U, 0xFDU, 0x00U}, /* C2 */ - {{SPACE_SYSTEM_IO, 0x08U, 0x00U, 0x00U, 0x1819UL}, 0x03U, 0x418U, 0x00U}, /* C3 */ +static const struct acrn_cstate_data board_cpu_cx[1] = { + {{SPACE_FFixedHW, 0x00U, 0x00U, 0x00U, 0x00UL}, 0x01U, 0x00U, 0x00U}, /* C1 */ }; -static const struct acrn_pstate_data board_cpu_px[16] = { - {0x961UL, 0x00UL, 0x0AUL, 0x0AUL, 0x002A00UL, 0x002A00UL}, /* P0 */ - {0x960UL, 0x00UL, 0x0AUL, 0x0AUL, 0x001800UL, 0x001800UL}, /* P1 */ - {0x8FCUL, 0x00UL, 0x0AUL, 0x0AUL, 0x001700UL, 0x001700UL}, /* P2 */ - {0x834UL, 0x00UL, 0x0AUL, 0x0AUL, 0x001500UL, 0x001500UL}, /* P3 */ - {0x7D0UL, 0x00UL, 0x0AUL, 0x0AUL, 0x001400UL, 0x001400UL}, /* P4 */ - {0x708UL, 0x00UL, 0x0AUL, 0x0AUL, 0x001200UL, 0x001200UL}, /* P5 */ - {0x6A4UL, 0x00UL, 0x0AUL, 0x0AUL, 0x001100UL, 0x001100UL}, /* P6 */ - {0x5DCUL, 0x00UL, 0x0AUL, 0x0AUL, 0x000F00UL, 0x000F00UL}, /* P7 */ - {0x578UL, 0x00UL, 0x0AUL, 0x0AUL, 0x000E00UL, 0x000E00UL}, /* P8 */ - {0x514UL, 0x00UL, 0x0AUL, 0x0AUL, 0x000D00UL, 0x000D00UL}, /* P9 */ - {0x44CUL, 0x00UL, 0x0AUL, 0x0AUL, 0x000B00UL, 0x000B00UL}, /* P10 */ - {0x384UL, 0x00UL, 0x0AUL, 0x0AUL, 0x000900UL, 0x000900UL}, /* P11 */ - {0x320UL, 0x00UL, 0x0AUL, 0x0AUL, 0x000800UL, 0x000800UL}, /* P12 */ - {0x2BCUL, 0x00UL, 0x0AUL, 0x0AUL, 0x000700UL, 0x000700UL}, /* P13 */ - {0x1F4UL, 0x00UL, 0x0AUL, 0x0AUL, 0x000500UL, 0x000500UL}, /* P14 */ - {0x190UL, 0x00UL, 0x0AUL, 0x0AUL, 0x000400UL, 0x000400UL}, /* P15 */ -}; +/* Px data is not available */ +static const struct acrn_pstate_data board_cpu_px[0]; const struct cpu_state_table board_cpu_state_tbl = { - "11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz", + "11th Gen Intel(R) Core(TM) i7-1185GRE @ 2.80GHz", {(uint8_t)ARRAY_SIZE(board_cpu_px), board_cpu_px, (uint8_t)ARRAY_SIZE(board_cpu_cx), board_cpu_cx} }; const union pci_bdf plat_hidden_pdevs[MAX_HIDDEN_PDEVS_NUM]; const struct vmsix_on_msi_info vmsix_on_msi_devs[MAX_VMSIX_ON_MSI_PDEVS_NUM]; + +struct acrn_cpufreq_limits cpufreq_limits[MAX_PCPU_NUM] = { + { + .guaranteed_hwp_lvl = 255, + .highest_hwp_lvl = 255, + .lowest_hwp_lvl = 1, + .nominal_pstate = 0, + .performance_pstate = 0, + }, + { + .guaranteed_hwp_lvl = 255, + .highest_hwp_lvl = 255, + .lowest_hwp_lvl = 1, + .nominal_pstate = 0, + .performance_pstate = 0, + }, + { + .guaranteed_hwp_lvl = 255, + .highest_hwp_lvl = 255, + .lowest_hwp_lvl = 1, + .nominal_pstate = 0, + .performance_pstate = 0, + }, + { + .guaranteed_hwp_lvl = 255, + .highest_hwp_lvl = 255, + .lowest_hwp_lvl = 1, + .nominal_pstate = 0, + .performance_pstate = 0, + }, +}; diff --git a/misc/config_tools/data/generic_board/generic_code/boards/board_info.h b/misc/config_tools/data/generic_board/generic_code/boards/board_info.h index 452acf273..347f6af5c 100644 --- a/misc/config_tools/data/generic_board/generic_code/boards/board_info.h +++ b/misc/config_tools/data/generic_board/generic_code/boards/board_info.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021-2022 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -7,12 +7,15 @@ #ifndef BOARD_INFO_H #define BOARD_INFO_H -#define MAX_PCPU_NUM 4U -#define MAX_VMSIX_ON_MSI_PDEVS_NUM 0U -#define MAX_HIDDEN_PDEVS_NUM 0U - -#define HI_MMIO_START 0x4000000000UL -#define HI_MMIO_END 0x8000000000UL -#define HI_MMIO_SIZE 0x20504000UL +#define MAX_HIDDEN_PDEVS_NUM 0U +#define MAX_PCPU_NUM 4U +#define MAX_VMSIX_ON_MSI_PDEVS_NUM 0U +#define MAXIMUM_PA_WIDTH 39U +#define MMIO32_START 0X50400000UL +#define MMIO32_END 0XC0000000UL +#define MMIO64_START 0X4000000000UL +#define MMIO64_END 0X8000000000UL +#define HI_MMIO_START 0X4000000000UL +#define HI_MMIO_END 0X8000000000UL #endif /* BOARD_INFO_H */ diff --git a/misc/config_tools/data/generic_board/generic_code/boards/pci_devices.h b/misc/config_tools/data/generic_board/generic_code/boards/pci_devices.h index 4aa8f8d52..9d1ec5c5c 100644 --- a/misc/config_tools/data/generic_board/generic_code/boards/pci_devices.h +++ b/misc/config_tools/data/generic_board/generic_code/boards/pci_devices.h @@ -6,15 +6,15 @@ /* * BIOS Information - * Vendor: Intel Corp. - * Version: TNTGL357.0042.2020.1221.1743 - * Release Date: 12/21/2020 + * Vendor: American Megatrends International, LLC. + * Version: E5000XXU3F00105-BPCIe + * Release Date: 08/25/2021 * BIOS Revision: 5.19 * * Base Board Information - * Manufacturer: Intel Corporation - * Product Name: NUC11TNBi5 - * Version: M11904-403 + * Manufacturer: Default string + * Product Name: Default string + * Version: Default string */ #ifndef PCI_DEVICES_H_ @@ -22,48 +22,42 @@ #define HOST_BRIDGE .pbdf.bits = {.b = 0x00U, .d = 0x00U, .f = 0x00U} +#define HOST_BRIDGE_1 .pbdf.bits = {.b = 0x00U, .d = 0x10U, .f = 0x05U} + #define VGA_COMPATIBLE_CONTROLLER_0 .pbdf.bits = {.b = 0x00U, .d = 0x02U, .f = 0x00U} -#define PCI_BRIDGE_0 .pbdf.bits = {.b = 0x00U, .d = 0x06U, .f = 0x00U} - -#define PCI_BRIDGE_1 .pbdf.bits = {.b = 0x00U, .d = 0x07U, .f = 0x00U} - -#define PCI_BRIDGE_2 .pbdf.bits = {.b = 0x00U, .d = 0x07U, .f = 0x02U} - -#define PCI_BRIDGE_3 .pbdf.bits = {.b = 0x00U, .d = 0x1DU, .f = 0x00U} - -#define SYSTEM_PERIPHERAL_0 .pbdf.bits = {.b = 0x00U, .d = 0x08U, .f = 0x00U} - #define USB_CONTROLLER_0 .pbdf.bits = {.b = 0x00U, .d = 0x0DU, .f = 0x00U} -#define USB_CONTROLLER_1 .pbdf.bits = {.b = 0x00U, .d = 0x0DU, .f = 0x02U} +#define USB_CONTROLLER_1 .pbdf.bits = {.b = 0x00U, .d = 0x14U, .f = 0x00U} -#define USB_CONTROLLER_2 .pbdf.bits = {.b = 0x00U, .d = 0x0DU, .f = 0x03U} +#define SERIAL_BUS_CONTROLLER_0 .pbdf.bits = {.b = 0x00U, .d = 0x10U, .f = 0x00U} -#define USB_CONTROLLER_3 .pbdf.bits = {.b = 0x00U, .d = 0x14U, .f = 0x00U} - -#define RAM_MEMORY_0 .pbdf.bits = {.b = 0x00U, .d = 0x14U, .f = 0x02U} - -#define NETWORK_CONTROLLER_0 .pbdf.bits = {.b = 0x00U, .d = 0x14U, .f = 0x03U} - -#define SERIAL_BUS_CONTROLLER_0 .pbdf.bits = {.b = 0x00U, .d = 0x15U, .f = 0x00U} - -#define SERIAL_BUS_CONTROLLER_1 .pbdf.bits = {.b = 0x00U, .d = 0x15U, .f = 0x01U} +#define SERIAL_BUS_CONTROLLER_1 .pbdf.bits = {.b = 0x00U, .d = 0x15U, .f = 0x00U} #define SERIAL_BUS_CONTROLLER_2 .pbdf.bits = {.b = 0x00U, .d = 0x1FU, .f = 0x05U} +#define RAM_MEMORY_0 .pbdf.bits = {.b = 0x00U, .d = 0x14U, .f = 0x02U} + #define COMMUNICATION_CONTROLLER_0 .pbdf.bits = {.b = 0x00U, .d = 0x16U, .f = 0x00U} +#define SERIAL_CONTROLLER_0 .pbdf.bits = {.b = 0x00U, .d = 0x16U, .f = 0x03U} + #define SATA_CONTROLLER_0 .pbdf.bits = {.b = 0x00U, .d = 0x17U, .f = 0x00U} +#define PCI_BRIDGE_0 .pbdf.bits = {.b = 0x00U, .d = 0x1CU, .f = 0x00U} + +#define PCI_BRIDGE_1 .pbdf.bits = {.b = 0x00U, .d = 0x1CU, .f = 0x07U} + #define ISA_BRIDGE_0 .pbdf.bits = {.b = 0x00U, .d = 0x1FU, .f = 0x00U} #define AUDIO_DEVICE_0 .pbdf.bits = {.b = 0x00U, .d = 0x1FU, .f = 0x03U} #define SMBUS_0 .pbdf.bits = {.b = 0x00U, .d = 0x1FU, .f = 0x04U} +#define ETHERNET_CONTROLLER_0 .pbdf.bits = {.b = 0x00U, .d = 0x1FU, .f = 0x06U} + +#define ETHERNET_CONTROLLER_1 .pbdf.bits = {.b = 0x02U, .d = 0x00U, .f = 0x00U} + #define NON_VOLATILE_MEMORY_CONTROLLER_0 .pbdf.bits = {.b = 0x01U, .d = 0x00U, .f = 0x00U} -#define ETHERNET_CONTROLLER_0 .pbdf.bits = {.b = 0x58U, .d = 0x00U, .f = 0x00U} - #endif /* PCI_DEVICES_H_ */ diff --git a/misc/config_tools/data/generic_board/generic_code/boards/platform_acpi_info.h b/misc/config_tools/data/generic_board/generic_code/boards/platform_acpi_info.h index d3a16eca5..a828b08cb 100644 --- a/misc/config_tools/data/generic_board/generic_code/boards/platform_acpi_info.h +++ b/misc/config_tools/data/generic_board/generic_code/boards/platform_acpi_info.h @@ -12,15 +12,15 @@ /* * BIOS Information - * Vendor: Intel Corp. - * Version: TNTGL357.0042.2020.1221.1743 - * Release Date: 12/21/2020 + * Vendor: American Megatrends International, LLC. + * Version: E5000XXU3F00105-BPCIe + * Release Date: 08/25/2021 * BIOS Revision: 5.19 * * Base Board Information - * Manufacturer: Intel Corporation - * Product Name: NUC11TNBi5 - * Version: M11904-403 + * Manufacturer: Default string + * Product Name: Default string + * Version: Default string */ /* pm sstate data */ @@ -28,15 +28,15 @@ #define PM1A_EVT_ACCESS_SIZE 0x2U #define PM1A_CNT_ADDRESS 0x1804UL -#define WAKE_VECTOR_32 0x40CD800CUL -#define WAKE_VECTOR_64 0x40CD8018UL +#define WAKE_VECTOR_32 0x3F6A400CUL +#define WAKE_VECTOR_64 0x3F6A4018UL #define RESET_REGISTER_ADDRESS 0xCF9UL #define RESET_REGISTER_SPACE_ID SPACE_SYSTEM_IO #define RESET_REGISTER_VALUE 0x6U /* DRHD of DMAR */ -#define DRHD_COUNT 4U +#define DRHD_COUNT 2U #define DRHD0_DEV_CNT 0x1U #define DRHD0_SEGMENT 0x0U @@ -48,39 +48,19 @@ #define DRHD0_DEVSCOPE0_BUS 0x0U #define DRHD0_DEVSCOPE0_PATH 0x10U -#define DRHD1_DEV_CNT 0x1U +#define DRHD1_DEV_CNT 0x2U #define DRHD1_SEGMENT 0x0U -#define DRHD1_FLAGS 0x0U -#define DRHD1_REG_BASE 0xFED85000UL +#define DRHD1_FLAGS 0x1U +#define DRHD1_REG_BASE 0xFED91000UL #define DRHD1_IGNORE false -#define DRHD1_DEVSCOPE0_TYPE 0x2U -#define DRHD1_DEVSCOPE0_ID 0x0U +#define DRHD1_DEVSCOPE0_TYPE 0x3U +#define DRHD1_DEVSCOPE0_ID 0x2U #define DRHD1_DEVSCOPE0_BUS 0x0U -#define DRHD1_DEVSCOPE0_PATH 0x38U - -#define DRHD2_DEV_CNT 0x1U -#define DRHD2_SEGMENT 0x0U -#define DRHD2_FLAGS 0x0U -#define DRHD2_REG_BASE 0xFED86000UL -#define DRHD2_IGNORE false -#define DRHD2_DEVSCOPE0_TYPE 0x2U -#define DRHD2_DEVSCOPE0_ID 0x0U -#define DRHD2_DEVSCOPE0_BUS 0x0U -#define DRHD2_DEVSCOPE0_PATH 0x3aU - -#define DRHD3_DEV_CNT 0x2U -#define DRHD3_SEGMENT 0x0U -#define DRHD3_FLAGS 0x1U -#define DRHD3_REG_BASE 0xFED91000UL -#define DRHD3_IGNORE false -#define DRHD3_DEVSCOPE0_TYPE 0x3U -#define DRHD3_DEVSCOPE0_ID 0x2U -#define DRHD3_DEVSCOPE0_BUS 0x0U -#define DRHD3_DEVSCOPE0_PATH 0xf7U -#define DRHD3_DEVSCOPE1_TYPE 0x4U -#define DRHD3_DEVSCOPE1_ID 0x0U -#define DRHD3_DEVSCOPE1_BUS 0x0U -#define DRHD3_DEVSCOPE1_PATH 0xf6U +#define DRHD1_DEVSCOPE0_PATH 0xf7U +#define DRHD1_DEVSCOPE1_TYPE 0x4U +#define DRHD1_DEVSCOPE1_ID 0x0U +#define DRHD1_DEVSCOPE1_BUS 0x0U +#define DRHD1_DEVSCOPE1_PATH 0xf6U /* PCI mmcfg base of MCFG */ #define DEFAULT_PCI_MMCFG_BASE 0xc0000000UL diff --git a/misc/config_tools/data/generic_board/generic_code/hybrid/ACPI_VM0/dsdt.aml b/misc/config_tools/data/generic_board/generic_code/hybrid/ACPI_VM0/dsdt.aml index c851f1847..290fec457 100644 Binary files a/misc/config_tools/data/generic_board/generic_code/hybrid/ACPI_VM0/dsdt.aml and b/misc/config_tools/data/generic_board/generic_code/hybrid/ACPI_VM0/dsdt.aml differ diff --git a/misc/config_tools/data/generic_board/generic_code/hybrid/generic_board.config b/misc/config_tools/data/generic_board/generic_code/hybrid/generic_board.config deleted file mode 100644 index f082018f7..000000000 --- a/misc/config_tools/data/generic_board/generic_code/hybrid/generic_board.config +++ /dev/null @@ -1,32 +0,0 @@ -# Board defconfig generated by acrn-config tool - -CONFIG_BOARD="generic_board" -CONFIG_HV_RAM_START=0x00400000 -CONFIG_PLATFORM_RAM_SIZE=0x400000000 -CONFIG_STACK_SIZE=0x2000 -CONFIG_IVSHMEM_ENABLED=n -CONFIG_GPU_SBDF=0x00000010 -CONFIG_SCHED_BVT=y -CONFIG_RELOC=y -CONFIG_MULTIBOOT2=y -CONFIG_RDT_ENABLED=n -CONFIG_CDP_ENABLED=n -CONFIG_HYPERV_ENABLED=y -CONFIG_IOMMU_ENFORCE_SNP=n -CONFIG_ACPI_PARSE_ENABLED=y -CONFIG_L1D_FLUSH_VMENTRY_ENABLED=n -CONFIG_MCE_ON_PSC_WORKAROUND_DISABLED=n -CONFIG_IOMMU_BUS_NUM=0x100 -CONFIG_MAX_IOAPIC_NUM=1 -CONFIG_MAX_PCI_DEV_NUM=96 -CONFIG_MAX_IOAPIC_LINES=120 -CONFIG_MAX_PT_IRQ_ENTRIES=256 -CONFIG_MAX_MSIX_TABLE_NUM=16 -CONFIG_MAX_EMULATED_MMIO_REGIONS=16 -CONFIG_SERIAL_LEGACY=y -CONFIG_SERIAL_PIO_BASE=0x3F8 -CONFIG_LOG_BUF_SIZE=0x40000 -CONFIG_NPK_LOGLEVEL_DEFAULT=5 -CONFIG_MEM_LOGLEVEL_DEFAULT=5 -CONFIG_LOG_DESTINATION=7 -CONFIG_CONSOLE_LOGLEVEL_DEFAULT=3 diff --git a/misc/config_tools/data/generic_board/generic_code/hybrid/ivshmem_cfg.h b/misc/config_tools/data/generic_board/generic_code/hybrid/ivshmem_cfg.h index 28c09a7db..df1acf7b7 100644 --- a/misc/config_tools/data/generic_board/generic_code/hybrid/ivshmem_cfg.h +++ b/misc/config_tools/data/generic_board/generic_code/hybrid/ivshmem_cfg.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ diff --git a/misc/config_tools/data/generic_board/generic_code/hybrid/misc_cfg.h b/misc/config_tools/data/generic_board/generic_code/hybrid/misc_cfg.h index 48fc6a537..f438d0418 100644 --- a/misc/config_tools/data/generic_board/generic_code/hybrid/misc_cfg.h +++ b/misc/config_tools/data/generic_board/generic_code/hybrid/misc_cfg.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -7,11 +7,11 @@ #ifndef MISC_CFG_H #define MISC_CFG_H -#define SERVICE_VM_ROOTFS "root=/dev/nvme0n1p3 " -#define SERVICE_VM_OS_CONSOLE "console=ttyS0 " +#define SERVICE_VM_ROOTFS "root=/dev/nvme0n1p2 " #define SERVICE_VM_BOOTARGS_DIFF \ - "rw rootwait console=tty0 consoleblank=0 no_timer_check quiet loglevel=3 i915.nuclear_pageflip=1 " \ - "swiotlb=131072 maxcpus=3 hugepagesz=1G hugepages=8 " + "rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3 " \ + "i915.nuclear_pageflip=1 swiotlb=131072 maxcpus=3 hugepagesz=1G hugepages=4 " +#define SERVICE_VM_BOOTARGS_MISC "udmabuf.list_limit=8192 " #define VM0_CONFIG_CPU_AFFINITY (AFFINITY_CPU(3U)) #define SERVICE_VM_CONFIG_CPU_AFFINITY (AFFINITY_CPU(0U) | AFFINITY_CPU(1U) | AFFINITY_CPU(2U)) #define VM2_CONFIG_CPU_AFFINITY (AFFINITY_CPU(2U)) @@ -20,14 +20,11 @@ #define HV_SUPPORTED_MAX_CLOS 0U #define MAX_MBA_CLOS_NUM_ENTRIES 0U #define MAX_CACHE_CLOS_NUM_ENTRIES 0U -#define CLOS_MASK_0 0xfffffU -#define CLOS_MASK_1 0xfffffU -#define CLOS_MASK_2 0xfffffU -#define CLOS_MASK_3 0xfffffU -#define CLOS_MASK_4 0xfffffU -#define CLOS_MASK_5 0xfffffU -#define CLOS_MASK_6 0xfffffU -#define CLOS_MASK_7 0xfffffU #endif +#define VM0_BOOT_ARGS \ + "rw rootwait root=/dev/sda2 console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3 " \ + "i915.nuclear_pageflip=1 swiotlb=131072 " +#define PRE_RTVM_SW_SRAM_MAX_SIZE 0UL + #endif /* MISC_CFG_H */ diff --git a/misc/config_tools/data/generic_board/generic_code/hybrid/pci_dev.c b/misc/config_tools/data/generic_board/generic_code/hybrid/pci_dev.c index f808727fd..12c36cf12 100644 --- a/misc/config_tools/data/generic_board/generic_code/hybrid/pci_dev.c +++ b/misc/config_tools/data/generic_board/generic_code/hybrid/pci_dev.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ diff --git a/misc/config_tools/data/generic_board/generic_code/hybrid/pt_intx.c b/misc/config_tools/data/generic_board/generic_code/hybrid/pt_intx.c index 78450fa77..e11f52060 100644 --- a/misc/config_tools/data/generic_board/generic_code/hybrid/pt_intx.c +++ b/misc/config_tools/data/generic_board/generic_code/hybrid/pt_intx.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ diff --git a/misc/config_tools/data/generic_board/generic_code/hybrid/vbar_base.h b/misc/config_tools/data/generic_board/generic_code/hybrid/vbar_base.h deleted file mode 100644 index e6135ce82..000000000 --- a/misc/config_tools/data/generic_board/generic_code/hybrid/vbar_base.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2021-2022 Intel Corporation. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef VBAR_BASE_H_ -#define VBAR_BASE_H_ - -#define VGA_COMPATIBLE_CONTROLLER_0_VBAR \ - .vbar_base[0] = HI_MMIO_START + 0x0UL, .vbar_base[2] = HI_MMIO_START + 0x10000000UL - -#define SYSTEM_PERIPHERAL_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20000000UL - -#define USB_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20010000UL - -#define USB_CONTROLLER_1_VBAR .vbar_base[0] = HI_MMIO_START + 0x20040000UL, .vbar_base[2] = HI_MMIO_START + 0x20080000UL - -#define USB_CONTROLLER_2_VBAR .vbar_base[0] = HI_MMIO_START + 0x200c0000UL, .vbar_base[2] = HI_MMIO_START + 0x20100000UL - -#define USB_CONTROLLER_3_VBAR .vbar_base[0] = HI_MMIO_START + 0x20110000UL - -#define RAM_MEMORY_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20120000UL, .vbar_base[2] = HI_MMIO_START + 0x20124000UL - -#define NETWORK_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20128000UL - -#define SERIAL_BUS_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x2012c000UL - -#define SERIAL_BUS_CONTROLLER_1_VBAR .vbar_base[0] = HI_MMIO_START + 0x2012d000UL - -#define SERIAL_BUS_CONTROLLER_2_VBAR .vbar_base[0] = HI_MMIO_START + 0x20301000UL - -#define COMMUNICATION_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x2012e000UL - -#define SATA_CONTROLLER_0_VBAR \ - .vbar_base[0] = HI_MMIO_START + 0x20130000UL, .vbar_base[1] = HI_MMIO_START + 0x20132000UL, \ - .vbar_base[5] = HI_MMIO_START + 0x20132800UL - -#define AUDIO_DEVICE_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20134000UL, .vbar_base[4] = HI_MMIO_START + 0x20200000UL - -#define SMBUS_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20300000UL - -#define NON_VOLATILE_MEMORY_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20304000UL - -#define ETHERNET_CONTROLLER_0_VBAR \ - .vbar_base[0] = HI_MMIO_START + 0x20400000UL, .vbar_base[3] = HI_MMIO_START + 0x20500000UL - -#endif /* VBAR_BASE_H_ */ diff --git a/misc/config_tools/data/generic_board/generic_code/hybrid/vm_configurations.c b/misc/config_tools/data/generic_board/generic_code/hybrid/vm_configurations.c index 90d77a480..a9f983026 100644 --- a/misc/config_tools/data/generic_board/generic_code/hybrid/vm_configurations.c +++ b/misc/config_tools/data/generic_board/generic_code/hybrid/vm_configurations.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -11,203 +11,247 @@ #include extern struct pt_intx_config vm0_pt_intx[1U]; +static struct vm_hpa_regions vm0_hpa[] = { + {.start_hpa = 0x100000000, .size_hpa = 0x20000000}, + {.start_hpa = 0x120000000, .size_hpa = 0x10000000}, +}; extern struct acrn_vm_pci_dev_config sos_pci_devs[CONFIG_MAX_PCI_DEV_NUM]; -struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = { - { - /* Static configured VM0 */ - CONFIG_SAFETY_VM, - .name = "SAFETY_VM0", - .vm_prio = PRIO_LOW, - .guest_flags = GUEST_FLAG_STATIC_VM, - .cpu_affinity = VM0_CONFIG_CPU_AFFINITY, - .memory = - { - .start_hpa = VM0_CONFIG_MEM_START_HPA, - .size = VM0_CONFIG_MEM_SIZE, - .start_hpa2 = VM0_CONFIG_MEM_START_HPA2, - .size_hpa2 = VM0_CONFIG_MEM_SIZE_HPA2, - }, - .os_config = - { - .name = "Zephyr", - .kernel_type = KERNEL_ELF, - .kernel_mod_tag = "Zephyr_ElfImage", - .ramdisk_mod_tag = "", - }, - .acpi_config = - { - .acpi_mod_tag = "ACPI_VM0", - }, - .vuart[0] = - { - .type = VUART_LEGACY_PIO, - .addr.port_base = 0x3F8U, - .irq = 4U, - }, - .vuart[1] = - { - .type = VUART_LEGACY_PIO, - .addr.port_base = 0x2F8U, - .irq = 3U, - .t_vuart.vm_id = 1U, - .t_vuart.vuart_id = 1U, - }, +struct acrn_vm_config + vm_configs[CONFIG_MAX_VM_NUM] = + {{ + /* Static configured VM0 */ + CONFIG_PRE_STD_VM, + .name = "SAFETY_VM0", + .vm_prio = PRIO_LOW, + .companion_vm_id = 65535U, + .guest_flags = (GUEST_FLAG_STATIC_VM), + .cpu_affinity = VM0_CONFIG_CPU_AFFINITY, + .memory = + { + .region_num = 2, + .host_regions = vm0_hpa, + }, + .os_config = + { + .name = "", + .kernel_type = KERNEL_ELF, + .kernel_mod_tag = "Zephyr_ElfImage", + .ramdisk_mod_tag = "", + .bootargs = VM0_BOOT_ARGS, + }, + .acpi_config = + { + .acpi_mod_tag = "ACPI_VM0", + }, + .vuart[0] = + { + .type = VUART_LEGACY_PIO, + .addr.port_base = 0x3F8U, + .irq = 4U, + }, + .vuart[1] = + { + .irq = 3U, + .type = VUART_LEGACY_PIO, + .addr.port_base = 0x2F8U, + .t_vuart.vm_id = 1U, + .t_vuart.vuart_id = 1U, + }, + .vuart[2] = + { + .irq = 3U, + .type = VUART_LEGACY_PIO, + .t_vuart.vm_id = 1U, + .t_vuart.vuart_id = 2U, + .addr.port_base = 0x2F8U, + }, #ifdef VM0_PASSTHROUGH_TPM - .pt_tpm2 = true, - .mmiodevs[0] = - { - .name = "tpm2", - .res[0] = - { - .user_vm_pa = VM0_TPM_BUFFER_BASE_ADDR_GPA, - .host_pa = VM0_TPM_BUFFER_BASE_ADDR, - .size = VM0_TPM_BUFFER_SIZE, - .mem_type = EPT_UNCACHED, - }, - .res[1] = - { - .user_vm_pa = VM0_TPM_EVENTLOG_BASE_ADDR, - .host_pa = VM0_TPM_EVENTLOG_BASE_ADDR_HPA, - .size = VM0_TPM_EVENTLOG_SIZE, - .mem_type = EPT_WB, - }, - }, + .pt_tpm2 = true, + .mmiodevs[0] = + { + .name = "tpm2", + .res[0] = + { + .user_vm_pa = VM0_TPM_BUFFER_BASE_ADDR_GPA, + .host_pa = VM0_TPM_BUFFER_BASE_ADDR, + .size = VM0_TPM_BUFFER_SIZE, + .mem_type = EPT_UNCACHED, + }, + .res[1] = + { + .user_vm_pa = VM0_TPM_EVENTLOG_BASE_ADDR, + .host_pa = VM0_TPM_EVENTLOG_BASE_ADDR_HPA, + .size = VM0_TPM_EVENTLOG_SIZE, + .mem_type = EPT_WB, + }, + }, #endif #ifdef P2SB_BAR_ADDR - .pt_p2sb_bar = true, - .mmiodevs[0] = + .pt_p2sb_bar = true, + .mmiodevs[0] = + { + .res[0] = + { + .user_vm_pa = P2SB_BAR_ADDR_GPA, + .host_pa = P2SB_BAR_ADDR, + .size = P2SB_BAR_SIZE, + }, + }, +#endif + .pt_intx_num = 0, + .pt_intx = vm0_pt_intx, + }, { - .res[0] = + /* Static configured VM1 */ + CONFIG_SERVICE_VM, + .name = "ACRN_Service_VM", + /* Allow Service VM to reboot the system since it is the highest priority VM. */ + .vm_prio = PRIO_LOW, + .companion_vm_id = 65535U, + .guest_flags = (GUEST_FLAG_STATIC_VM), + .cpu_affinity = SERVICE_VM_CONFIG_CPU_AFFINITY, + .os_config = { - .user_vm_pa = P2SB_BAR_ADDR_GPA, - .host_pa = P2SB_BAR_ADDR, - .size = P2SB_BAR_SIZE, + .name = "", + .kernel_type = KERNEL_BZIMAGE, + .kernel_mod_tag = "Linux_bzImage", + .ramdisk_mod_tag = "", + .bootargs = SERVICE_VM_OS_BOOTARGS, + }, + .vuart[0] = + { + .type = VUART_LEGACY_PIO, + .addr.port_base = 0x3F8U, + .irq = 4U, + }, + .vuart[1] = + { + .irq = 3U, + .type = VUART_LEGACY_PIO, + .t_vuart.vm_id = 0U, + .t_vuart.vuart_id = 1U, + .addr.port_base = 0x2F8U, + }, + .vuart[2] = + { + .irq = 0U, + .type = VUART_LEGACY_PIO, + .addr.port_base = 0X9000U, + .t_vuart.vm_id = 0U, + .t_vuart.vuart_id = 2U, + }, + .vuart[3] = + { + .irq = 0U, + .type = VUART_LEGACY_PIO, + .addr.port_base = 0X9008U, + .t_vuart.vm_id = 2U, + .t_vuart.vuart_id = 1U, + }, + .vuart[4] = + { + .irq = 0U, + .type = VUART_LEGACY_PIO, + .addr.port_base = 0X9010U, + .t_vuart.vm_id = 3U, + .t_vuart.vuart_id = 1U, + }, + .pci_dev_num = 0U, + .pci_devs = sos_pci_devs, + }, + { + /* Static configured VM2 */ + CONFIG_POST_STD_VM, + .name = "POST_STD_VM1", + .vm_prio = PRIO_LOW, + .companion_vm_id = 65535U, + .guest_flags = (GUEST_FLAG_STATIC_VM), + .cpu_affinity = VM2_CONFIG_CPU_AFFINITY, + .vuart[0] = + { + .type = VUART_LEGACY_PIO, + .addr.port_base = 0x3F8U, + .irq = 4U, + }, + .vuart[1] = + { + .irq = 3U, + .type = VUART_LEGACY_PIO, + .t_vuart.vm_id = 1U, + .t_vuart.vuart_id = 3U, + .addr.port_base = 0x2F8U, }, }, -#endif - .pt_intx_num = 0, - .pt_intx = vm0_pt_intx, - }, - { - /* Static configured VM1 */ - CONFIG_SERVICE_VM, - .name = "ACRN_Service_VM", - /* Allow Service VM to reboot the system since it is the highest priority VM. */ - .vm_prio = PRIO_LOW, - .guest_flags = GUEST_FLAG_STATIC_VM, - .cpu_affinity = SERVICE_VM_CONFIG_CPU_AFFINITY, - .memory = { - .start_hpa = 0UL, + /* Static configured VM3 */ + CONFIG_POST_STD_VM, + .name = "POST_STD_VM2", + .vm_prio = PRIO_LOW, + .companion_vm_id = 65535U, + .guest_flags = (GUEST_FLAG_STATIC_VM), + .cpu_affinity = VM3_CONFIG_CPU_AFFINITY, + .vuart[0] = + { + .type = VUART_LEGACY_PIO, + .addr.port_base = 0x3F8U, + .irq = 4U, + }, + .vuart[1] = + { + .irq = 3U, + .type = VUART_LEGACY_PIO, + .t_vuart.vm_id = 1U, + .t_vuart.vuart_id = 4U, + .addr.port_base = 0x2F8U, + }, }, - .os_config = { - .name = "ACRN Service OS", - .kernel_type = KERNEL_BZIMAGE, - .kernel_mod_tag = "Linux_bzImage", - .ramdisk_mod_tag = "", - .bootargs = SERVICE_VM_OS_BOOTARGS, + /* Dynamic configured VM4 */ + CONFIG_POST_STD_VM, }, - .vuart[0] = { - .type = VUART_LEGACY_PIO, - .addr.port_base = 0x3F8U, - .irq = 4U, + /* Dynamic configured VM5 */ + CONFIG_POST_STD_VM, }, - .vuart[1] = { - .type = VUART_LEGACY_PIO, - .addr.port_base = 0x2F8U, - .irq = 3U, - .t_vuart.vm_id = 0U, - .t_vuart.vuart_id = 1U, + /* Dynamic configured VM6 */ + CONFIG_POST_STD_VM, }, - .pci_dev_num = 0U, - .pci_devs = sos_pci_devs, - }, - { - /* Static configured VM2 */ - CONFIG_POST_STD_VM, - .name = "POST_STD_VM1", - .vm_prio = PRIO_LOW, - .guest_flags = GUEST_FLAG_STATIC_VM, - .cpu_affinity = VM2_CONFIG_CPU_AFFINITY, - .vuart[0] = { - .type = VUART_LEGACY_PIO, - .addr.port_base = 0x3F8U, - .irq = 4U, + /* Dynamic configured VM7 */ + CONFIG_POST_STD_VM, }, - .vuart[1] = { - .type = VUART_LEGACY_PIO, + /* Dynamic configured VM8 */ + CONFIG_POST_STD_VM, }, - }, - { - /* Static configured VM3 */ - CONFIG_POST_STD_VM, - .name = "POST_STD_VM2", - .vm_prio = PRIO_LOW, - .guest_flags = GUEST_FLAG_STATIC_VM, - .cpu_affinity = VM3_CONFIG_CPU_AFFINITY, - .vuart[0] = { - .type = VUART_LEGACY_PIO, - .addr.port_base = 0x3F8U, - .irq = 4U, + /* Dynamic configured VM9 */ + CONFIG_POST_STD_VM, }, - .vuart[1] = { - .type = VUART_LEGACY_PIO, + /* Dynamic configured VM10 */ + CONFIG_POST_STD_VM, }, - }, - { - /* Dynamic configured VM4 */ - CONFIG_POST_STD_VM, - }, - { - /* Dynamic configured VM5 */ - CONFIG_POST_STD_VM, - }, - { - /* Dynamic configured VM6 */ - CONFIG_POST_STD_VM, - }, - { - /* Dynamic configured VM7 */ - CONFIG_POST_STD_VM, - }, - { - /* Dynamic configured VM8 */ - CONFIG_POST_STD_VM, - }, - { - /* Dynamic configured VM9 */ - CONFIG_POST_STD_VM, - }, - { - /* Dynamic configured VM10 */ - CONFIG_POST_STD_VM, - }, - { - /* Dynamic configured VM11 */ - CONFIG_POST_STD_VM, - }, - { - /* Dynamic configured VM12 */ - CONFIG_POST_STD_VM, - }, - { - /* Dynamic configured VM13 */ - CONFIG_POST_STD_VM, - }, - { - /* Dynamic configured VM14 */ - CONFIG_POST_STD_VM, - }, - { - /* Dynamic configured VM15 */ - CONFIG_POST_STD_VM, - } + { + /* Dynamic configured VM11 */ + CONFIG_POST_STD_VM, + }, + { + /* Dynamic configured VM12 */ + CONFIG_POST_STD_VM, + }, + { + /* Dynamic configured VM13 */ + CONFIG_POST_STD_VM, + }, + { + /* Dynamic configured VM14 */ + CONFIG_POST_STD_VM, + }, + { + /* Dynamic configured VM15 */ + CONFIG_POST_STD_VM, + } }; diff --git a/misc/config_tools/data/generic_board/generic_code/hybrid/vm_configurations.h b/misc/config_tools/data/generic_board/generic_code/hybrid/vm_configurations.h index f22ee1235..ba498c9e9 100644 --- a/misc/config_tools/data/generic_board/generic_code/hybrid/vm_configurations.h +++ b/misc/config_tools/data/generic_board/generic_code/hybrid/vm_configurations.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -13,12 +13,11 @@ #define PRE_VM_NUM 1U #define SERVICE_VM_NUM 1U #define MAX_POST_VM_NUM 14U +#define MAX_TRUSTY_VM_NUM 0U #define CONFIG_MAX_VM_NUM 16U -#define VM0_CONFIG_MEM_START_HPA 0x100000000UL -#define VM0_CONFIG_MEM_SIZE 0x20000000UL -#define VM0_CONFIG_MEM_START_HPA2 0x0UL -#define VM0_CONFIG_MEM_SIZE_HPA2 0x0UL /* SERVICE_VM == VM1 */ -#define SERVICE_VM_OS_BOOTARGS SERVICE_VM_ROOTFS SERVICE_VM_OS_CONSOLE SERVICE_VM_IDLE SERVICE_VM_BOOTARGS_DIFF +#define SERVICE_VM_OS_BOOTARGS SERVICE_VM_ROOTFS SERVICE_VM_IDLE SERVICE_VM_BOOTARGS_DIFF SERVICE_VM_BOOTARGS_MISC +#define MAX_VUART_NUM_PER_VM 5U +#define MAX_IR_ENTRIES 256U #endif /* VM_CONFIGURATIONS_H */ diff --git a/misc/config_tools/data/generic_board/generic_code/partitioned/ACPI_VM0/dsdt.aml b/misc/config_tools/data/generic_board/generic_code/partitioned/ACPI_VM0/dsdt.aml index 0f91dd5d1..c3c718795 100644 Binary files a/misc/config_tools/data/generic_board/generic_code/partitioned/ACPI_VM0/dsdt.aml and b/misc/config_tools/data/generic_board/generic_code/partitioned/ACPI_VM0/dsdt.aml differ diff --git a/misc/config_tools/data/generic_board/generic_code/partitioned/ACPI_VM1/dsdt.aml b/misc/config_tools/data/generic_board/generic_code/partitioned/ACPI_VM1/dsdt.aml index f0c47c1ea..94590748c 100644 Binary files a/misc/config_tools/data/generic_board/generic_code/partitioned/ACPI_VM1/dsdt.aml and b/misc/config_tools/data/generic_board/generic_code/partitioned/ACPI_VM1/dsdt.aml differ diff --git a/misc/config_tools/data/generic_board/generic_code/partitioned/generic_board.config b/misc/config_tools/data/generic_board/generic_code/partitioned/generic_board.config deleted file mode 100644 index d167866d7..000000000 --- a/misc/config_tools/data/generic_board/generic_code/partitioned/generic_board.config +++ /dev/null @@ -1,32 +0,0 @@ -# Board defconfig generated by acrn-config tool - -CONFIG_BOARD="generic_board" -CONFIG_HV_RAM_START=0x00400000 -CONFIG_PLATFORM_RAM_SIZE=0x400000000 -CONFIG_STACK_SIZE=0x2000 -CONFIG_IVSHMEM_ENABLED=n -CONFIG_GPU_SBDF=0x00000010 -CONFIG_SCHED_BVT=y -CONFIG_RELOC=y -CONFIG_MULTIBOOT2=y -CONFIG_RDT_ENABLED=n -CONFIG_CDP_ENABLED=n -CONFIG_HYPERV_ENABLED=y -CONFIG_IOMMU_ENFORCE_SNP=n -CONFIG_ACPI_PARSE_ENABLED=y -CONFIG_L1D_FLUSH_VMENTRY_ENABLED=n -CONFIG_MCE_ON_PSC_WORKAROUND_DISABLED=n -CONFIG_IOMMU_BUS_NUM=0x100 -CONFIG_MAX_IOAPIC_NUM=1 -CONFIG_MAX_PCI_DEV_NUM=96 -CONFIG_MAX_IOAPIC_LINES=120 -CONFIG_MAX_PT_IRQ_ENTRIES=64 -CONFIG_MAX_MSIX_TABLE_NUM=64 -CONFIG_MAX_EMULATED_MMIO_REGIONS=16 -CONFIG_SERIAL_LEGACY=y -CONFIG_SERIAL_PIO_BASE=0x3F8 -CONFIG_LOG_BUF_SIZE=0x40000 -CONFIG_NPK_LOGLEVEL_DEFAULT=5 -CONFIG_MEM_LOGLEVEL_DEFAULT=5 -CONFIG_LOG_DESTINATION=7 -CONFIG_CONSOLE_LOGLEVEL_DEFAULT=3 diff --git a/misc/config_tools/data/generic_board/generic_code/partitioned/ivshmem_cfg.h b/misc/config_tools/data/generic_board/generic_code/partitioned/ivshmem_cfg.h index 28c09a7db..df1acf7b7 100644 --- a/misc/config_tools/data/generic_board/generic_code/partitioned/ivshmem_cfg.h +++ b/misc/config_tools/data/generic_board/generic_code/partitioned/ivshmem_cfg.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ diff --git a/misc/config_tools/data/generic_board/generic_code/partitioned/misc_cfg.h b/misc/config_tools/data/generic_board/generic_code/partitioned/misc_cfg.h index d3cad17e2..12fc648ad 100644 --- a/misc/config_tools/data/generic_board/generic_code/partitioned/misc_cfg.h +++ b/misc/config_tools/data/generic_board/generic_code/partitioned/misc_cfg.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -13,23 +13,16 @@ #define HV_SUPPORTED_MAX_CLOS 0U #define MAX_MBA_CLOS_NUM_ENTRIES 0U #define MAX_CACHE_CLOS_NUM_ENTRIES 0U -#define CLOS_MASK_0 0xfffffU -#define CLOS_MASK_1 0xfffffU -#define CLOS_MASK_2 0xfffffU -#define CLOS_MASK_3 0xfffffU -#define CLOS_MASK_4 0xfffffU -#define CLOS_MASK_5 0xfffffU -#define CLOS_MASK_6 0xfffffU -#define CLOS_MASK_7 0xfffffU #endif #define VM0_CONFIG_PCI_DEV_NUM 3U #define VM1_CONFIG_PCI_DEV_NUM 2U #define VM0_BOOT_ARGS \ - "rw rootwait root=/dev/sda3 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M " \ - "consoleblank=0 tsc=reliable reboot=acpi " + "rw rootwait root=/dev/sda2 console=tty0 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel " \ + "log_buf_len=16M consoleblank=0 tsc=reliable reboot=acpi " #define VM1_BOOT_ARGS \ - "rw rootwait root=/dev/sda2 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M " \ - "consoleblank=0 tsc=reliable reboot=acpi " + "rw rootwait root=/dev/sda2 console=tty0 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel " \ + "log_buf_len=16M consoleblank=0 tsc=reliable reboot=acpi " +#define PRE_RTVM_SW_SRAM_MAX_SIZE 0UL #endif /* MISC_CFG_H */ diff --git a/misc/config_tools/data/generic_board/generic_code/partitioned/pci_dev.c b/misc/config_tools/data/generic_board/generic_code/partitioned/pci_dev.c index a5d1d6390..ae7cf20e3 100644 --- a/misc/config_tools/data/generic_board/generic_code/partitioned/pci_dev.c +++ b/misc/config_tools/data/generic_board/generic_code/partitioned/pci_dev.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -31,9 +31,9 @@ struct acrn_vm_pci_dev_config vm0_pci_devs[VM0_CONFIG_PCI_DEV_NUM] = { .d = 0x17U, .f = 0x00U, }, - .vbar_base[0] = 0x80104000UL, - .vbar_base[5] = 0x80106000UL, - .vbar_base[1] = 0x80107000UL, + .vbar_base[0] = 0x80020000UL, + .vbar_base[5] = 0x80022000UL, + .vbar_base[1] = 0x80023000UL, .vbar_base[4] = 0x3060UL, .vbar_base[3] = 0x3080UL, .vbar_base[2] = 0x3090UL, @@ -48,12 +48,11 @@ struct acrn_vm_pci_dev_config vm0_pci_devs[VM0_CONFIG_PCI_DEV_NUM] = { }, .pbdf.bits = { - .b = 0x58U, - .d = 0x00U, - .f = 0x00U, + .b = 0x00U, + .d = 0x1FU, + .f = 0x06U, }, .vbar_base[0] = 0x80000000UL, - .vbar_base[3] = 0x80100000UL, }, }; struct acrn_vm_pci_dev_config vm1_pci_devs[VM1_CONFIG_PCI_DEV_NUM] = { diff --git a/misc/config_tools/data/generic_board/generic_code/partitioned/pt_intx.c b/misc/config_tools/data/generic_board/generic_code/partitioned/pt_intx.c index 8fbc521c7..23570ce05 100644 --- a/misc/config_tools/data/generic_board/generic_code/partitioned/pt_intx.c +++ b/misc/config_tools/data/generic_board/generic_code/partitioned/pt_intx.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ diff --git a/misc/config_tools/data/generic_board/generic_code/partitioned/vbar_base.h b/misc/config_tools/data/generic_board/generic_code/partitioned/vbar_base.h deleted file mode 100644 index e6135ce82..000000000 --- a/misc/config_tools/data/generic_board/generic_code/partitioned/vbar_base.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2021-2022 Intel Corporation. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef VBAR_BASE_H_ -#define VBAR_BASE_H_ - -#define VGA_COMPATIBLE_CONTROLLER_0_VBAR \ - .vbar_base[0] = HI_MMIO_START + 0x0UL, .vbar_base[2] = HI_MMIO_START + 0x10000000UL - -#define SYSTEM_PERIPHERAL_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20000000UL - -#define USB_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20010000UL - -#define USB_CONTROLLER_1_VBAR .vbar_base[0] = HI_MMIO_START + 0x20040000UL, .vbar_base[2] = HI_MMIO_START + 0x20080000UL - -#define USB_CONTROLLER_2_VBAR .vbar_base[0] = HI_MMIO_START + 0x200c0000UL, .vbar_base[2] = HI_MMIO_START + 0x20100000UL - -#define USB_CONTROLLER_3_VBAR .vbar_base[0] = HI_MMIO_START + 0x20110000UL - -#define RAM_MEMORY_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20120000UL, .vbar_base[2] = HI_MMIO_START + 0x20124000UL - -#define NETWORK_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20128000UL - -#define SERIAL_BUS_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x2012c000UL - -#define SERIAL_BUS_CONTROLLER_1_VBAR .vbar_base[0] = HI_MMIO_START + 0x2012d000UL - -#define SERIAL_BUS_CONTROLLER_2_VBAR .vbar_base[0] = HI_MMIO_START + 0x20301000UL - -#define COMMUNICATION_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x2012e000UL - -#define SATA_CONTROLLER_0_VBAR \ - .vbar_base[0] = HI_MMIO_START + 0x20130000UL, .vbar_base[1] = HI_MMIO_START + 0x20132000UL, \ - .vbar_base[5] = HI_MMIO_START + 0x20132800UL - -#define AUDIO_DEVICE_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20134000UL, .vbar_base[4] = HI_MMIO_START + 0x20200000UL - -#define SMBUS_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20300000UL - -#define NON_VOLATILE_MEMORY_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20304000UL - -#define ETHERNET_CONTROLLER_0_VBAR \ - .vbar_base[0] = HI_MMIO_START + 0x20400000UL, .vbar_base[3] = HI_MMIO_START + 0x20500000UL - -#endif /* VBAR_BASE_H_ */ diff --git a/misc/config_tools/data/generic_board/generic_code/partitioned/vm_configurations.c b/misc/config_tools/data/generic_board/generic_code/partitioned/vm_configurations.c index 83c20c286..8bb214158 100644 --- a/misc/config_tools/data/generic_board/generic_code/partitioned/vm_configurations.c +++ b/misc/config_tools/data/generic_board/generic_code/partitioned/vm_configurations.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -12,29 +12,34 @@ extern struct acrn_vm_pci_dev_config vm0_pci_devs[VM0_CONFIG_PCI_DEV_NUM]; extern struct pt_intx_config vm0_pt_intx[1U]; +static struct vm_hpa_regions vm0_hpa[] = { + {.start_hpa = 0x100000000, .size_hpa = 0x20000000}, +}; extern struct acrn_vm_pci_dev_config vm1_pci_devs[VM1_CONFIG_PCI_DEV_NUM]; extern struct pt_intx_config vm1_pt_intx[1U]; +static struct vm_hpa_regions vm1_hpa[] = { + {.start_hpa = 0x120000000, .size_hpa = 0x20000000}, +}; struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = { { /* Static configured VM0 */ CONFIG_PRE_STD_VM, .name = "PRE_STD_VM0", .vm_prio = PRIO_LOW, - .guest_flags = GUEST_FLAG_STATIC_VM, + .companion_vm_id = 65535U, + .guest_flags = (GUEST_FLAG_STATIC_VM), .cpu_affinity = VM0_CONFIG_CPU_AFFINITY, .memory = { - .start_hpa = VM0_CONFIG_MEM_START_HPA, - .size = VM0_CONFIG_MEM_SIZE, - .start_hpa2 = VM0_CONFIG_MEM_START_HPA2, - .size_hpa2 = VM0_CONFIG_MEM_SIZE_HPA2, + .region_num = 1, + .host_regions = vm0_hpa, }, .os_config = { - .name = "YOCTO", + .name = "", .kernel_type = KERNEL_BZIMAGE, .kernel_mod_tag = "Linux_bzImage", - .ramdisk_mod_tag = "", + .ramdisk_mod_tag = "Ubuntu", .bootargs = VM0_BOOT_ARGS, }, .acpi_config = @@ -49,9 +54,9 @@ struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = { }, .vuart[1] = { + .irq = 3U, .type = VUART_LEGACY_PIO, .addr.port_base = 0x2F8U, - .irq = 3U, .t_vuart.vm_id = 1U, .t_vuart.vuart_id = 1U, }, @@ -98,18 +103,17 @@ struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = { CONFIG_PRE_STD_VM, .name = "PRE_STD_VM1", .vm_prio = PRIO_LOW, - .guest_flags = GUEST_FLAG_STATIC_VM, + .companion_vm_id = 65535U, + .guest_flags = (GUEST_FLAG_STATIC_VM), .cpu_affinity = VM1_CONFIG_CPU_AFFINITY, .memory = { - .start_hpa = VM1_CONFIG_MEM_START_HPA, - .size = VM1_CONFIG_MEM_SIZE, - .start_hpa2 = VM1_CONFIG_MEM_START_HPA2, - .size_hpa2 = VM1_CONFIG_MEM_SIZE_HPA2, + .region_num = 1, + .host_regions = vm1_hpa, }, .os_config = { - .name = "YOCTO", + .name = "", .kernel_type = KERNEL_BZIMAGE, .kernel_mod_tag = "Linux_bzImage", .ramdisk_mod_tag = "", @@ -127,11 +131,11 @@ struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = { }, .vuart[1] = { - .type = VUART_LEGACY_PIO, - .addr.port_base = 0x2F8U, .irq = 3U, + .type = VUART_LEGACY_PIO, .t_vuart.vm_id = 0U, .t_vuart.vuart_id = 1U, + .addr.port_base = 0x2F8U, }, .pci_dev_num = VM1_CONFIG_PCI_DEV_NUM, .pci_devs = vm1_pci_devs, diff --git a/misc/config_tools/data/generic_board/generic_code/partitioned/vm_configurations.h b/misc/config_tools/data/generic_board/generic_code/partitioned/vm_configurations.h index 35234de84..0630deb33 100644 --- a/misc/config_tools/data/generic_board/generic_code/partitioned/vm_configurations.h +++ b/misc/config_tools/data/generic_board/generic_code/partitioned/vm_configurations.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -13,14 +13,9 @@ #define PRE_VM_NUM 2U #define SERVICE_VM_NUM 0U #define MAX_POST_VM_NUM 14U +#define MAX_TRUSTY_VM_NUM 0U #define CONFIG_MAX_VM_NUM 16U -#define VM0_CONFIG_MEM_START_HPA 0x100000000UL -#define VM0_CONFIG_MEM_SIZE 0x20000000UL -#define VM0_CONFIG_MEM_START_HPA2 0x0UL -#define VM0_CONFIG_MEM_SIZE_HPA2 0x0UL -#define VM1_CONFIG_MEM_START_HPA 0x120000000UL -#define VM1_CONFIG_MEM_SIZE 0x20000000UL -#define VM1_CONFIG_MEM_START_HPA2 0x0UL -#define VM1_CONFIG_MEM_SIZE_HPA2 0x0UL +#define MAX_VUART_NUM_PER_VM 2U +#define MAX_IR_ENTRIES 256U #endif /* VM_CONFIGURATIONS_H */ diff --git a/misc/config_tools/data/generic_board/generic_code/shared/generic_board.config b/misc/config_tools/data/generic_board/generic_code/shared/generic_board.config deleted file mode 100644 index f082018f7..000000000 --- a/misc/config_tools/data/generic_board/generic_code/shared/generic_board.config +++ /dev/null @@ -1,32 +0,0 @@ -# Board defconfig generated by acrn-config tool - -CONFIG_BOARD="generic_board" -CONFIG_HV_RAM_START=0x00400000 -CONFIG_PLATFORM_RAM_SIZE=0x400000000 -CONFIG_STACK_SIZE=0x2000 -CONFIG_IVSHMEM_ENABLED=n -CONFIG_GPU_SBDF=0x00000010 -CONFIG_SCHED_BVT=y -CONFIG_RELOC=y -CONFIG_MULTIBOOT2=y -CONFIG_RDT_ENABLED=n -CONFIG_CDP_ENABLED=n -CONFIG_HYPERV_ENABLED=y -CONFIG_IOMMU_ENFORCE_SNP=n -CONFIG_ACPI_PARSE_ENABLED=y -CONFIG_L1D_FLUSH_VMENTRY_ENABLED=n -CONFIG_MCE_ON_PSC_WORKAROUND_DISABLED=n -CONFIG_IOMMU_BUS_NUM=0x100 -CONFIG_MAX_IOAPIC_NUM=1 -CONFIG_MAX_PCI_DEV_NUM=96 -CONFIG_MAX_IOAPIC_LINES=120 -CONFIG_MAX_PT_IRQ_ENTRIES=256 -CONFIG_MAX_MSIX_TABLE_NUM=16 -CONFIG_MAX_EMULATED_MMIO_REGIONS=16 -CONFIG_SERIAL_LEGACY=y -CONFIG_SERIAL_PIO_BASE=0x3F8 -CONFIG_LOG_BUF_SIZE=0x40000 -CONFIG_NPK_LOGLEVEL_DEFAULT=5 -CONFIG_MEM_LOGLEVEL_DEFAULT=5 -CONFIG_LOG_DESTINATION=7 -CONFIG_CONSOLE_LOGLEVEL_DEFAULT=3 diff --git a/misc/config_tools/data/generic_board/generic_code/shared/ivshmem_cfg.h b/misc/config_tools/data/generic_board/generic_code/shared/ivshmem_cfg.h index 28c09a7db..df1acf7b7 100644 --- a/misc/config_tools/data/generic_board/generic_code/shared/ivshmem_cfg.h +++ b/misc/config_tools/data/generic_board/generic_code/shared/ivshmem_cfg.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ diff --git a/misc/config_tools/data/generic_board/generic_code/shared/misc_cfg.h b/misc/config_tools/data/generic_board/generic_code/shared/misc_cfg.h index a56ee28b8..c1cf0059f 100644 --- a/misc/config_tools/data/generic_board/generic_code/shared/misc_cfg.h +++ b/misc/config_tools/data/generic_board/generic_code/shared/misc_cfg.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -7,30 +7,20 @@ #ifndef MISC_CFG_H #define MISC_CFG_H -#define SERVICE_VM_ROOTFS "root=/dev/nvme0n1p3 " -#define SERVICE_VM_OS_CONSOLE "console=ttyS0 " +#define SERVICE_VM_ROOTFS "root=/dev/nvme0n1p2 " #define SERVICE_VM_BOOTARGS_DIFF \ - "rw rootwait console=tty0 consoleblank=0 no_timer_check quiet loglevel=3 i915.nuclear_pageflip=1 " \ - "swiotlb=131072 maxcpus=4 hugepagesz=1G hugepages=8 " + "rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3 " \ + "i915.nuclear_pageflip=1 swiotlb=131072 maxcpus=4 hugepagesz=1G hugepages=5 " +#define SERVICE_VM_BOOTARGS_MISC "udmabuf.list_limit=8192 " #define SERVICE_VM_CONFIG_CPU_AFFINITY (AFFINITY_CPU(0U) | AFFINITY_CPU(1U) | AFFINITY_CPU(2U) | AFFINITY_CPU(3U)) #define VM1_CONFIG_CPU_AFFINITY (AFFINITY_CPU(0U) | AFFINITY_CPU(1U)) #define VM2_CONFIG_CPU_AFFINITY (AFFINITY_CPU(2U) | AFFINITY_CPU(3U)) -#define VM3_CONFIG_CPU_AFFINITY (AFFINITY_CPU(0U) | AFFINITY_CPU(1U)) -#define VM4_CONFIG_CPU_AFFINITY (AFFINITY_CPU(0U) | AFFINITY_CPU(1U)) -#define VM5_CONFIG_CPU_AFFINITY (AFFINITY_CPU(0U) | AFFINITY_CPU(1U)) -#define VM6_CONFIG_CPU_AFFINITY (AFFINITY_CPU(0U) | AFFINITY_CPU(1U)) #ifdef CONFIG_RDT_ENABLED #define HV_SUPPORTED_MAX_CLOS 0U #define MAX_MBA_CLOS_NUM_ENTRIES 0U #define MAX_CACHE_CLOS_NUM_ENTRIES 0U -#define CLOS_MASK_0 0xfffffU -#define CLOS_MASK_1 0xfffffU -#define CLOS_MASK_2 0xfffffU -#define CLOS_MASK_3 0xfffffU -#define CLOS_MASK_4 0xfffffU -#define CLOS_MASK_5 0xfffffU -#define CLOS_MASK_6 0xfffffU -#define CLOS_MASK_7 0xfffffU #endif +#define PRE_RTVM_SW_SRAM_MAX_SIZE 0UL + #endif /* MISC_CFG_H */ diff --git a/misc/config_tools/data/generic_board/generic_code/shared/pci_dev.c b/misc/config_tools/data/generic_board/generic_code/shared/pci_dev.c index f808727fd..12c36cf12 100644 --- a/misc/config_tools/data/generic_board/generic_code/shared/pci_dev.c +++ b/misc/config_tools/data/generic_board/generic_code/shared/pci_dev.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ diff --git a/misc/config_tools/data/generic_board/generic_code/shared/pt_intx.c b/misc/config_tools/data/generic_board/generic_code/shared/pt_intx.c index a4e213352..9a766c61d 100644 --- a/misc/config_tools/data/generic_board/generic_code/shared/pt_intx.c +++ b/misc/config_tools/data/generic_board/generic_code/shared/pt_intx.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ diff --git a/misc/config_tools/data/generic_board/generic_code/shared/vbar_base.h b/misc/config_tools/data/generic_board/generic_code/shared/vbar_base.h deleted file mode 100644 index e6135ce82..000000000 --- a/misc/config_tools/data/generic_board/generic_code/shared/vbar_base.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2021-2022 Intel Corporation. - * - * SPDX-License-Identifier: BSD-3-Clause - */ - -#ifndef VBAR_BASE_H_ -#define VBAR_BASE_H_ - -#define VGA_COMPATIBLE_CONTROLLER_0_VBAR \ - .vbar_base[0] = HI_MMIO_START + 0x0UL, .vbar_base[2] = HI_MMIO_START + 0x10000000UL - -#define SYSTEM_PERIPHERAL_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20000000UL - -#define USB_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20010000UL - -#define USB_CONTROLLER_1_VBAR .vbar_base[0] = HI_MMIO_START + 0x20040000UL, .vbar_base[2] = HI_MMIO_START + 0x20080000UL - -#define USB_CONTROLLER_2_VBAR .vbar_base[0] = HI_MMIO_START + 0x200c0000UL, .vbar_base[2] = HI_MMIO_START + 0x20100000UL - -#define USB_CONTROLLER_3_VBAR .vbar_base[0] = HI_MMIO_START + 0x20110000UL - -#define RAM_MEMORY_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20120000UL, .vbar_base[2] = HI_MMIO_START + 0x20124000UL - -#define NETWORK_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20128000UL - -#define SERIAL_BUS_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x2012c000UL - -#define SERIAL_BUS_CONTROLLER_1_VBAR .vbar_base[0] = HI_MMIO_START + 0x2012d000UL - -#define SERIAL_BUS_CONTROLLER_2_VBAR .vbar_base[0] = HI_MMIO_START + 0x20301000UL - -#define COMMUNICATION_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x2012e000UL - -#define SATA_CONTROLLER_0_VBAR \ - .vbar_base[0] = HI_MMIO_START + 0x20130000UL, .vbar_base[1] = HI_MMIO_START + 0x20132000UL, \ - .vbar_base[5] = HI_MMIO_START + 0x20132800UL - -#define AUDIO_DEVICE_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20134000UL, .vbar_base[4] = HI_MMIO_START + 0x20200000UL - -#define SMBUS_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20300000UL - -#define NON_VOLATILE_MEMORY_CONTROLLER_0_VBAR .vbar_base[0] = HI_MMIO_START + 0x20304000UL - -#define ETHERNET_CONTROLLER_0_VBAR \ - .vbar_base[0] = HI_MMIO_START + 0x20400000UL, .vbar_base[3] = HI_MMIO_START + 0x20500000UL - -#endif /* VBAR_BASE_H_ */ diff --git a/misc/config_tools/data/generic_board/generic_code/shared/vm_configurations.c b/misc/config_tools/data/generic_board/generic_code/shared/vm_configurations.c index 9eb063eab..10bf375fb 100644 --- a/misc/config_tools/data/generic_board/generic_code/shared/vm_configurations.c +++ b/misc/config_tools/data/generic_board/generic_code/shared/vm_configurations.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -18,15 +18,12 @@ struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = { .name = "ACRN_Service_VM", /* Allow Service VM to reboot the system since it is the highest priority VM. */ .vm_prio = PRIO_LOW, - .guest_flags = GUEST_FLAG_STATIC_VM, + .companion_vm_id = 65535U, + .guest_flags = (GUEST_FLAG_STATIC_VM), .cpu_affinity = SERVICE_VM_CONFIG_CPU_AFFINITY, - .memory = - { - .start_hpa = 0UL, - }, .os_config = { - .name = "ACRN Service OS", + .name = "", .kernel_type = KERNEL_BZIMAGE, .kernel_mod_tag = "Linux_bzImage", .ramdisk_mod_tag = "", @@ -40,12 +37,36 @@ struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = { }, .vuart[1] = { + .irq = 3U, .type = VUART_LEGACY_PIO, .addr.port_base = 0x2F8U, - .irq = 3U, + .t_vuart.vm_id = 1U, + .t_vuart.vuart_id = 1U, + }, + .vuart[2] = + { + .irq = 4U, + .type = VUART_LEGACY_PIO, + .addr.port_base = 0x3E8U, .t_vuart.vm_id = 2U, .t_vuart.vuart_id = 1U, }, + .vuart[3] = + { + .irq = 0U, + .type = VUART_LEGACY_PIO, + .addr.port_base = 0X9000U, + .t_vuart.vm_id = 1U, + .t_vuart.vuart_id = 2U, + }, + .vuart[4] = + { + .irq = 0U, + .type = VUART_LEGACY_PIO, + .addr.port_base = 0X9008U, + .t_vuart.vm_id = 2U, + .t_vuart.vuart_id = 2U, + }, .pci_dev_num = 0U, .pci_devs = sos_pci_devs, }, @@ -54,7 +75,8 @@ struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = { CONFIG_POST_STD_VM, .name = "POST_STD_VM1", .vm_prio = PRIO_LOW, - .guest_flags = GUEST_FLAG_STATIC_VM, + .companion_vm_id = 65535U, + .guest_flags = (GUEST_FLAG_STATIC_VM), .cpu_affinity = VM1_CONFIG_CPU_AFFINITY, .vuart[0] = { @@ -64,7 +86,19 @@ struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = { }, .vuart[1] = { + .irq = 3U, .type = VUART_LEGACY_PIO, + .t_vuart.vm_id = 0U, + .t_vuart.vuart_id = 1U, + .addr.port_base = 0x2F8U, + }, + .vuart[2] = + { + .irq = 3U, + .type = VUART_LEGACY_PIO, + .t_vuart.vm_id = 0U, + .t_vuart.vuart_id = 3U, + .addr.port_base = 0x2F8U, }, }, { @@ -72,7 +106,8 @@ struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = { CONFIG_POST_RT_VM, .name = "POST_RT_VM1", .vm_prio = PRIO_LOW, - .guest_flags = (GUEST_FLAG_STATIC_VM | GUEST_FLAG_LAPIC_PASSTHROUGH | GUEST_FLAG_RT), + .companion_vm_id = 65535U, + .guest_flags = (GUEST_FLAG_LAPIC_PASSTHROUGH | GUEST_FLAG_RT | GUEST_FLAG_STATIC_VM), .cpu_affinity = VM2_CONFIG_CPU_AFFINITY, .vuart[0] = { @@ -82,84 +117,36 @@ struct acrn_vm_config vm_configs[CONFIG_MAX_VM_NUM] = { }, .vuart[1] = { + .irq = 4U, .type = VUART_LEGACY_PIO, - .addr.port_base = 0x2F8U, - .irq = 3U, .t_vuart.vm_id = 0U, - .t_vuart.vuart_id = 1U, + .t_vuart.vuart_id = 2U, + .addr.port_base = 0x3E8U, + }, + .vuart[2] = + { + .irq = 3U, + .type = VUART_LEGACY_PIO, + .t_vuart.vm_id = 0U, + .t_vuart.vuart_id = 4U, + .addr.port_base = 0x2F8U, }, }, { - /* Static configured VM3 */ + /* Dynamic configured VM3 */ CONFIG_POST_STD_VM, - .name = "POST_STD_VM2", - .vm_prio = PRIO_LOW, - .guest_flags = GUEST_FLAG_STATIC_VM, - .cpu_affinity = VM3_CONFIG_CPU_AFFINITY, - .vuart[0] = - { - .type = VUART_LEGACY_PIO, - .addr.port_base = 0x3F8U, - .irq = 4U, - }, - .vuart[1] = - { - .type = VUART_LEGACY_PIO, - }, }, { - /* Static configured VM4 */ + /* Dynamic configured VM4 */ CONFIG_POST_STD_VM, - .name = "POST_STD_VM3", - .vm_prio = PRIO_LOW, - .guest_flags = GUEST_FLAG_STATIC_VM, - .cpu_affinity = VM4_CONFIG_CPU_AFFINITY, - .vuart[0] = - { - .type = VUART_LEGACY_PIO, - .addr.port_base = 0x3F8U, - .irq = 4U, - }, - .vuart[1] = - { - .type = VUART_LEGACY_PIO, - }, }, { - /* Static configured VM5 */ + /* Dynamic configured VM5 */ CONFIG_POST_STD_VM, - .name = "POST_STD_VM4", - .vm_prio = PRIO_LOW, - .guest_flags = GUEST_FLAG_STATIC_VM, - .cpu_affinity = VM5_CONFIG_CPU_AFFINITY, - .vuart[0] = - { - .type = VUART_LEGACY_PIO, - .addr.port_base = 0x3F8U, - .irq = 4U, - }, - .vuart[1] = - { - .type = VUART_LEGACY_PIO, - }, }, { - /* Static configured VM6 */ + /* Dynamic configured VM6 */ CONFIG_POST_STD_VM, - .name = "POST_STD_VM5", - .vm_prio = PRIO_LOW, - .guest_flags = GUEST_FLAG_STATIC_VM, - .cpu_affinity = VM6_CONFIG_CPU_AFFINITY, - .vuart[0] = - { - .type = VUART_LEGACY_PIO, - .addr.port_base = 0x3F8U, - .irq = 4U, - }, - .vuart[1] = - { - .type = VUART_LEGACY_PIO, - }, }, { /* Dynamic configured VM7 */ diff --git a/misc/config_tools/data/generic_board/generic_code/shared/vm_configurations.h b/misc/config_tools/data/generic_board/generic_code/shared/vm_configurations.h index b822f1442..4608c8dd3 100644 --- a/misc/config_tools/data/generic_board/generic_code/shared/vm_configurations.h +++ b/misc/config_tools/data/generic_board/generic_code/shared/vm_configurations.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2021 Intel Corporation. + * Copyright (C) 2022 Intel Corporation. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -13,8 +13,11 @@ #define PRE_VM_NUM 0U #define SERVICE_VM_NUM 1U #define MAX_POST_VM_NUM 15U +#define MAX_TRUSTY_VM_NUM 0U #define CONFIG_MAX_VM_NUM 16U /* SERVICE_VM == VM0 */ -#define SERVICE_VM_OS_BOOTARGS SERVICE_VM_ROOTFS SERVICE_VM_OS_CONSOLE SERVICE_VM_IDLE SERVICE_VM_BOOTARGS_DIFF +#define SERVICE_VM_OS_BOOTARGS SERVICE_VM_ROOTFS SERVICE_VM_IDLE SERVICE_VM_BOOTARGS_DIFF SERVICE_VM_BOOTARGS_MISC +#define MAX_VUART_NUM_PER_VM 5U +#define MAX_IR_ENTRIES 256U #endif /* VM_CONFIGURATIONS_H */ diff --git a/misc/config_tools/data/generic_board/hybrid.xml b/misc/config_tools/data/generic_board/hybrid.xml deleted file mode 120000 index 4c12ee7b2..000000000 --- a/misc/config_tools/data/generic_board/hybrid.xml +++ /dev/null @@ -1 +0,0 @@ -hybrid_launch_2user_vm.xml \ No newline at end of file diff --git a/misc/config_tools/data/generic_board/hybrid.xml b/misc/config_tools/data/generic_board/hybrid.xml new file mode 100644 index 000000000..51b29d1bb --- /dev/null +++ b/misc/config_tools/data/generic_board/hybrid.xml @@ -0,0 +1,175 @@ + + + + debug + + y + SCHED_BVT + y + n + y + n + + n + n + n + + y + n + y + n + y + n + + + + vUART connection 1 + legacy + + SAFETY_VM0 + 0x2F8 + 00:10.0 + + + ACRN_Service_VM + 0x2F8 + 00:10.0 + + + + + /dev/ttyS0 + 5 + 5 + 3 + + + 0x2000 + + + 16 + 1 + 96 + 120 + 256 + 16 + 64 + + + 0x00000010 + + + + STANDARD_VM + COM Port 1 + + 256 + + 0x100000000 + 512 + + + + + 3 + n + + + + KERNEL_ELF + Zephyr_ElfImage + rw rootwait root=/dev/sda2 console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3 i915.nuclear_pageflip=1 swiotlb=131072 + + + n + n + + PRE_LAUNCHED_VM + SAFETY_VM0 + + 0 + 0 + + PRIO_LOW + 65535 + + + SERVICE_VM + ACRN_Service_VM + + KERNEL_BZIMAGE + Linux_bzImage + root=/dev/nvme0n1p2 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3 + i915.nuclear_pageflip=1 swiotlb=131072 + + COM Port 1 + STANDARD_VM + PRIO_LOW + 65535 + + + POST_LAUNCHED_VM + STANDARD_VM + POST_STD_VM1 + + + 2 + n + + + + 4096 + + COM Port 1 + + 00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01) + + n + Windows OS + y + n + + + Virtio console + stdio + + + WaaG + + ./win10-ltsc.img + + PRIO_LOW + 65535 + + + POST_LAUNCHED_VM + STANDARD_VM + POST_STD_VM2 + + + 2 + n + + + + 512 + + COM Port 1 + n + Non-Windows OS + y + n + + + Virtio console + stdio + + + YaaG + + ./YaaG.img + + PRIO_LOW + 65535 + + \ No newline at end of file diff --git a/misc/config_tools/data/generic_board/hybrid_launch_2user_vm.xml b/misc/config_tools/data/generic_board/hybrid_launch_2user_vm.xml deleted file mode 100644 index 3d06128ee..000000000 --- a/misc/config_tools/data/generic_board/hybrid_launch_2user_vm.xml +++ /dev/null @@ -1,165 +0,0 @@ - - - debug - - /dev/ttyS0 - 5 - 5 - 3 - - - y - SCHED_BVT - y - n - y - n - - n - n - n - - y - n - y - n - y - - - - 0x2000 - - - 16 - 1 - 96 - 120 - 256 - - 16 - - - 0x00000010 - - - - vUART connection 1 - legacy - - SAFETY_VM0 - 0x2F8 - - - ACRN_Service_VM - 0x2F8 - - - - - - PRE_LAUNCHED_VM - STANDARD_VM - SAFETY_VM0 - - - 3 - - - - 0 - 0 - - - - 0x100000000 - 512 - - - - KERNEL_ELF - Zephyr_ElfImage - - - - COM Port 1 - - n - n - - - - - - SERVICE_VM - STANDARD_VM - ACRN_Service_VM - - KERNEL_BZIMAGE - Linux_bzImage - - root=/dev/nvme0n1p2 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3 - i915.nuclear_pageflip=1 swiotlb=131072 - - COM Port 1 - - - POST_LAUNCHED_VM - STANDARD_VM - POST_STD_VM1 - - - 2 - - - - 4096 - - COM Port 1 - - 00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01) - - n - Windows OS - y - n - - - - - WaaG - - - ./win10-ltsc.img - - - - POST_LAUNCHED_VM - STANDARD_VM - POST_STD_VM2 - - - 2 - - - - 512 - - COM Port 1 - n - Non-Windows OS - y - n - - - - Virtio console - stdio - - - YaaG - - - ./YaaG.img - - - diff --git a/misc/config_tools/data/generic_board/hybrid_rt.xml b/misc/config_tools/data/generic_board/hybrid_rt.xml deleted file mode 100644 index 70afb811a..000000000 --- a/misc/config_tools/data/generic_board/hybrid_rt.xml +++ /dev/null @@ -1,188 +0,0 @@ - - - debug - - /dev/ttyS0 - 5 - 5 - 3 - - - y - SCHED_BVT - y - n - - n - n - - y - n - y - n - y - - - shm_region_0 - Hypervisor - 2 - - - PRE_RT_VM0 - 00:08.0 - - - POST_STD_VM1 - 00:08.0 - - - - - - - 0x2000 - - - 16 - 1 - 96 - 120 - 256 - - 16 - - - 0x00000010 - - - - vUART connection 1 - legacy - - PRE_RT_VM0 - 0x2F8 - - - ACRN_Service_VM - 0x2F8 - - - - - - PRE_LAUNCHED_VM - RTVM - PRE_RT_VM0 - y - - - 2 - y - - - 3 - y - - - - 0 - 0 - - - - 0x100000000 - 1024 - - - - KERNEL_BZIMAGE - RT_bzImage - - rw rootwait root=/dev/sda3 no_ipi_broadcast=1 console=ttyS0 console=tty0 noxsave nohpet no_timer_check ignore_loglevel consoleblank=0 tsc=reliable clocksource=tsc x2apic_phys processor.max_cstate=0 intel_idle.max_cstate=0 intel_pstate=disable mce=ignore_ce audit=0 isolcpus=nohz,domain,1 nohz_full=1 rcu_nocbs=1 nosoftlockup idle=poll irqaffinity=0 reboot=acpi - - COM Port 1 - - n - - - 00:17.0 SATA controller: Intel Corporation Device a0d3 (rev 20) - 58:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-LM (rev 03) - - - - SERVICE_VM - STANDARD_VM - ACRN_Service_VM - - KERNEL_BZIMAGE - Linux_bzImage - - root=/dev/nvme0n1p2 rw rootwait console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3 - i915.nuclear_pageflip=1 swiotlb=131072 - - COM Port 1 - - - POST_LAUNCHED_VM - STANDARD_VM - POST_STD_VM1 - - - 0 - - - 1 - - - - 4096 - - COM Port 1 - - 00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01) - - n - Windows OS - y - n - - - - - WaaG - - - ./win10-ltsc.img - - - - POST_LAUNCHED_VM - STANDARD_VM - POST_STD_VM2 - - - 1 - - - - 512 - - COM Port 1 - n - Non-Windows OS - y - n - - - - Virtio console - stdio - - - YaaG - - - ./YaaG.img - - - diff --git a/misc/config_tools/data/generic_board/partitioned.xml b/misc/config_tools/data/generic_board/partitioned.xml index 2dbe3080f..1177b0a3d 100644 --- a/misc/config_tools/data/generic_board/partitioned.xml +++ b/misc/config_tools/data/generic_board/partitioned.xml @@ -81,9 +81,9 @@ KERNEL_BZIMAGE Linux_bzImage - - rw rootwait root=/dev/sda3 console=ttyS0 console=tty0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable reboot=acpi - + Ubuntu + rw rootwait root=/dev/sda2 console=tty0 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable reboot=acpi + COM Port 1 @@ -91,7 +91,7 @@ 00:17.0 SATA controller: Intel Corporation Device a0d3 (rev 20) - 58:00.0 Ethernet controller: Intel Corporation Ethernet Controller I225-LM (rev 03) + 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (13) I219-LM (rev 20) @@ -120,9 +120,8 @@ KERNEL_BZIMAGE Linux_bzImage - rw rootwait root=/dev/sda2 console=ttyS0 console=tty0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M - consoleblank=0 tsc=reliable reboot=acpi - + rw rootwait root=/dev/sda2 console=tty0 console=ttyS0 noxsave nohpet no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 tsc=reliable reboot=acpi + COM Port 1 diff --git a/misc/config_tools/data/generic_board/sample_launch_scripts/launch_user_vm_id1.sh b/misc/config_tools/data/generic_board/sample_launch_scripts/launch_user_vm_id1.sh new file mode 100644 index 000000000..650930659 --- /dev/null +++ b/misc/config_tools/data/generic_board/sample_launch_scripts/launch_user_vm_id1.sh @@ -0,0 +1,270 @@ +#!/bin/bash +# +# Copyright (C) 2022 Intel Corporation. +# +# SPDX-License-Identifier: BSD-3-Clause +# + +# Launch script for VM name: POST_STD_VM1 + + +# + +# Helper functions + +function probe_modules() { + modprobe pci_stub +} + +function offline_cpus() { + # Each parameter of this function is considered the APIC ID (as is reported in /proc/cpuinfo, in decimal) of a CPU + # assigned to a post-launched RTVM. + for i in $*; do + processor_id=$(grep -B 15 "apicid.*: ${i}$" /proc/cpuinfo | grep "^processor" | head -n 1 | cut -d ' ' -f 2) + if [ -z ${processor_id} ]; then + continue + fi + if [ "${processor_id}" = "0" ]; then + echo "Warning: processor 0 can't be offline, there may be unexpect error!" >> /dev/stderr + continue + fi + cpu_path="/sys/devices/system/cpu/cpu${processor_id}" + if [ -f ${cpu_path}/online ]; then + online=`cat ${cpu_path}/online` + echo cpu${processor_id} online=${online} >> /dev/stderr + if [ "${online}" = "1" ]; then + echo 0 > ${cpu_path}/online + online=`cat ${cpu_path}/online` + # during boot time, cpu hotplug may be disabled by pci_device_probe during a pci module insmod + while [ "${online}" = "1" ]; do + sleep 1 + echo 0 > ${cpu_path}/online + online=`cat ${cpu_path}/online` + done + echo ${processor_id} > /sys/devices/virtual/misc/acrn_hsm/remove_cpu + fi + fi + done +} + +function unbind_device() { + physical_bdf=$1 + + vendor_id=$(cat /sys/bus/pci/devices/${physical_bdf}/vendor) + device_id=$(cat /sys/bus/pci/devices/${physical_bdf}/device) + + echo $(printf "%04x %04x" ${vendor_id} ${device_id}) > /sys/bus/pci/drivers/pci-stub/new_id + echo ${physical_bdf} > /sys/bus/pci/devices/${physical_bdf}/driver/unbind + echo ${physical_bdf} > /sys/bus/pci/drivers/pci-stub/bind +} + +function create_tap() { + # create a unique tap device for each VM + tap=$1 + tap_exist=$(ip a show dev $tap) + if [ "$tap_exist"x != "x" ]; then + echo "$tap TAP device already available, reusing it." + else + ip tuntap add dev $tap mode tap + fi + + # if acrn-br0 exists, add VM's unique tap device under it + br_exist=$(ip a | grep acrn-br0 | awk '{print $1}') + if [ "$br_exist"x != "x" -a "$tap_exist"x = "x" ]; then + echo "acrn-br0 bridge already exists, adding new $tap TAP device to it..." + ip link set "$tap" master acrn-br0 + ip link set dev "$tap" down + ip link set dev "$tap" up + fi +} + +function mount_partition() { + partition=$1 + + tmpdir=`mktemp -d` + mount ${partition} ${tmpdir} + echo ${tmpdir} +} + +function unmount_partition() { + tmpdir=$1 + + umount ${tmpdir} + rmdir ${tmpdir} +} + +# Generators of device model parameters + +function add_cpus() { + # Each parameter of this function is considered the apicid of processor (as is reported in /proc/cpuinfo) of + # a CPU assigned to a post-launched RTVM. + + if [ "${vm_type}" = "RTVM" ] || [ "${scheduler}" = "SCHED_NOOP" ] || [ "${own_pcpu}" = "y" ]; then + offline_cpus $* + fi + + cpu_list=$(local IFS=, ; echo "$*") + echo -n "--cpu_affinity ${cpu_list}" +} + +function add_interrupt_storm_monitor() { + threshold_per_sec=$1 + probe_period_in_sec=$2 + inject_delay_in_ms=$3 + delay_duration_in_ms=$4 + + echo -n "--intr_monitor ${threshold_per_sec},${probe_period_in_sec},${inject_delay_in_ms},${delay_duration_in_ms}" +} + +function add_logger_settings() { + loggers=() + + for conf in $*; do + logger=${conf%=*} + level=${conf#*=} + loggers+=("${logger},level=${level}") + done + + cmd_param=$(local IFS=';' ; echo "${loggers[*]}") + echo -n "--logger_setting ${cmd_param}" +} + +function add_virtual_device() { + slot=$1 + kind=$2 + options=$3 + + if [ "${kind}" = "virtio-net" ]; then + # Create the tap device + if [[ ${options} =~ tap=([^,]+) ]]; then + tap_conf="${BASH_REMATCH[1]}" + create_tap "${tap_conf}" >&2 + fi + fi + + if [ "${kind}" = "virtio-input" ]; then + options=$* + if [[ "${options}" =~ id:([a-zA-Z0-9_\-]*) ]]; then + unique_identifier="${BASH_REMATCH[1]}" + options=${options/",id:${unique_identifier}"/''} + fi + + if [[ "${options}" =~ (Device name: )(.*),( Device physical path: )(.*) ]]; then + device_name="${BASH_REMATCH[2]}" + phys_name="${BASH_REMATCH[4]}" + local IFS=$'\n' + device_name_paths=$(grep -r "${device_name}" /sys/class/input/event*/device/name) + phys_paths=$(grep -r "${phys_name}" /sys/class/input/event*/device/phys) + fi + + if [ -n "${device_name_paths}" ] && [ -n "${phys_paths}" ]; then + for device_path in ${device_name_paths}; do + for phys_path in ${phys_paths}; do + if [ "${device_path%/device*}" = "${phys_path%/device*}" ]; then + event_path=${device_path} + if [[ ${event_path} =~ event([0-9]+) ]]; then + event_num="${BASH_REMATCH[1]}" + options="/dev/input/event${event_num}" + break + fi + fi + done + done + fi + + if [[ ${options} =~ event([0-9]+) ]]; then + echo "${options} input device path is available in the service vm." >> /dev/stderr + else + echo "${options} input device path is not found in the service vm." >> /dev/stderr + return + fi + + if [ -n "${options}" ] && [ -n "${unique_identifier}" ]; then + options="${options},${unique_identifier}" + fi + + fi + + echo -n "-s ${slot},${kind}" + if [ -n "${options}" ]; then + echo -n ",${options}" + fi +} + +function add_passthrough_device() { + slot=$1 + physical_bdf=$2 + options=$3 + + unbind_device ${physical_bdf%,*} + + # bus, device and function as decimal integers + bus_temp=${physical_bdf#*:}; bus=$((16#${bus_temp%:*})) + dev_temp=${physical_bdf##*:}; dev=$((16#${dev_temp%.*})) + fun=$((16#${physical_bdf#*.})) + + echo -n "-s " + printf '%s,passthru,%x/%x/%x' ${slot} ${bus} ${dev} ${fun} + if [ -n "${options}" ]; then + echo -n ",${options}" + fi +} + +### +# The followings are generated by launch_cfg_gen.py +### + +# Defining variables that describe VM types +vm_type='STANDARD_VM' +scheduler='SCHED_BVT' +own_pcpu='n' + +# Initializing +probe_modules +mac=$(cat /sys/class/net/e*/address) + + +# Note for developers: The number of available logical CPUs depends on the +# number of enabled cores and whether Hyperthreading is enabled in the BIOS +# settings. CPU IDs are assigned to each logical CPU but are not the same ID +# value throughout the system: +# +# Native CPU_ID: +# ID enumerated by the Linux Kernel and shown in the +# ACRN Configurator's CPU Affinity option (used in the scenario.xml) +# Service VM CPU_ID: +# ID assigned by the Service VM at runtime +# APIC_ID: +# Advanced Programmable Interrupt Controller's unique ID as +# enumerated by the board inspector (used in this launch script) +# +# This table shows equivalent CPU IDs for this scenario and board: +# + +# Native CPU_ID Service VM CPU_ID APIC_ID +# ------------- ----------------- ------- +# 0 0 0 +# 1 1 2 +# 2 2 4 +# 3 3 6 + +# Invoking ACRN device model +dm_params=( + --windows + `add_cpus 0 2` + -m 4096M + --ovmf /usr/share/acrn/bios/OVMF.fd + `add_virtual_device 1:0 lpc` + `add_virtual_device 0:0 hostbridge` + `add_virtual_device 3 virtio-console @stdio:stdio_port` + `add_virtual_device 4 virtio-net tap=WaaG,mac_seed=${mac:0:17}-POST_STD_VM1` + `add_virtual_device 5 virtio-blk ./win10-ltsc.img` + `add_passthrough_device 2 0000:00:02.0` + `add_logger_settings console=4 kmsg=3 disk=5` + POST_STD_VM1 +) + +echo "Launch device model with parameters: ${dm_params[@]}" +acrn-dm "${dm_params[@]}" + +# Deinitializing diff --git a/misc/config_tools/data/generic_board/sample_launch_scripts/launch_user_vm_id2.sh b/misc/config_tools/data/generic_board/sample_launch_scripts/launch_user_vm_id2.sh new file mode 100644 index 000000000..9ea7fe82d --- /dev/null +++ b/misc/config_tools/data/generic_board/sample_launch_scripts/launch_user_vm_id2.sh @@ -0,0 +1,270 @@ +#!/bin/bash +# +# Copyright (C) 2022 Intel Corporation. +# +# SPDX-License-Identifier: BSD-3-Clause +# + +# Launch script for VM name: POST_RT_VM1 + + +# + +# Helper functions + +function probe_modules() { + modprobe pci_stub +} + +function offline_cpus() { + # Each parameter of this function is considered the APIC ID (as is reported in /proc/cpuinfo, in decimal) of a CPU + # assigned to a post-launched RTVM. + for i in $*; do + processor_id=$(grep -B 15 "apicid.*: ${i}$" /proc/cpuinfo | grep "^processor" | head -n 1 | cut -d ' ' -f 2) + if [ -z ${processor_id} ]; then + continue + fi + if [ "${processor_id}" = "0" ]; then + echo "Warning: processor 0 can't be offline, there may be unexpect error!" >> /dev/stderr + continue + fi + cpu_path="/sys/devices/system/cpu/cpu${processor_id}" + if [ -f ${cpu_path}/online ]; then + online=`cat ${cpu_path}/online` + echo cpu${processor_id} online=${online} >> /dev/stderr + if [ "${online}" = "1" ]; then + echo 0 > ${cpu_path}/online + online=`cat ${cpu_path}/online` + # during boot time, cpu hotplug may be disabled by pci_device_probe during a pci module insmod + while [ "${online}" = "1" ]; do + sleep 1 + echo 0 > ${cpu_path}/online + online=`cat ${cpu_path}/online` + done + echo ${processor_id} > /sys/devices/virtual/misc/acrn_hsm/remove_cpu + fi + fi + done +} + +function unbind_device() { + physical_bdf=$1 + + vendor_id=$(cat /sys/bus/pci/devices/${physical_bdf}/vendor) + device_id=$(cat /sys/bus/pci/devices/${physical_bdf}/device) + + echo $(printf "%04x %04x" ${vendor_id} ${device_id}) > /sys/bus/pci/drivers/pci-stub/new_id + echo ${physical_bdf} > /sys/bus/pci/devices/${physical_bdf}/driver/unbind + echo ${physical_bdf} > /sys/bus/pci/drivers/pci-stub/bind +} + +function create_tap() { + # create a unique tap device for each VM + tap=$1 + tap_exist=$(ip a show dev $tap) + if [ "$tap_exist"x != "x" ]; then + echo "$tap TAP device already available, reusing it." + else + ip tuntap add dev $tap mode tap + fi + + # if acrn-br0 exists, add VM's unique tap device under it + br_exist=$(ip a | grep acrn-br0 | awk '{print $1}') + if [ "$br_exist"x != "x" -a "$tap_exist"x = "x" ]; then + echo "acrn-br0 bridge already exists, adding new $tap TAP device to it..." + ip link set "$tap" master acrn-br0 + ip link set dev "$tap" down + ip link set dev "$tap" up + fi +} + +function mount_partition() { + partition=$1 + + tmpdir=`mktemp -d` + mount ${partition} ${tmpdir} + echo ${tmpdir} +} + +function unmount_partition() { + tmpdir=$1 + + umount ${tmpdir} + rmdir ${tmpdir} +} + +# Generators of device model parameters + +function add_cpus() { + # Each parameter of this function is considered the apicid of processor (as is reported in /proc/cpuinfo) of + # a CPU assigned to a post-launched RTVM. + + if [ "${vm_type}" = "RTVM" ] || [ "${scheduler}" = "SCHED_NOOP" ] || [ "${own_pcpu}" = "y" ]; then + offline_cpus $* + fi + + cpu_list=$(local IFS=, ; echo "$*") + echo -n "--cpu_affinity ${cpu_list}" +} + +function add_interrupt_storm_monitor() { + threshold_per_sec=$1 + probe_period_in_sec=$2 + inject_delay_in_ms=$3 + delay_duration_in_ms=$4 + + echo -n "--intr_monitor ${threshold_per_sec},${probe_period_in_sec},${inject_delay_in_ms},${delay_duration_in_ms}" +} + +function add_logger_settings() { + loggers=() + + for conf in $*; do + logger=${conf%=*} + level=${conf#*=} + loggers+=("${logger},level=${level}") + done + + cmd_param=$(local IFS=';' ; echo "${loggers[*]}") + echo -n "--logger_setting ${cmd_param}" +} + +function add_virtual_device() { + slot=$1 + kind=$2 + options=$3 + + if [ "${kind}" = "virtio-net" ]; then + # Create the tap device + if [[ ${options} =~ tap=([^,]+) ]]; then + tap_conf="${BASH_REMATCH[1]}" + create_tap "${tap_conf}" >&2 + fi + fi + + if [ "${kind}" = "virtio-input" ]; then + options=$* + if [[ "${options}" =~ id:([a-zA-Z0-9_\-]*) ]]; then + unique_identifier="${BASH_REMATCH[1]}" + options=${options/",id:${unique_identifier}"/''} + fi + + if [[ "${options}" =~ (Device name: )(.*),( Device physical path: )(.*) ]]; then + device_name="${BASH_REMATCH[2]}" + phys_name="${BASH_REMATCH[4]}" + local IFS=$'\n' + device_name_paths=$(grep -r "${device_name}" /sys/class/input/event*/device/name) + phys_paths=$(grep -r "${phys_name}" /sys/class/input/event*/device/phys) + fi + + if [ -n "${device_name_paths}" ] && [ -n "${phys_paths}" ]; then + for device_path in ${device_name_paths}; do + for phys_path in ${phys_paths}; do + if [ "${device_path%/device*}" = "${phys_path%/device*}" ]; then + event_path=${device_path} + if [[ ${event_path} =~ event([0-9]+) ]]; then + event_num="${BASH_REMATCH[1]}" + options="/dev/input/event${event_num}" + break + fi + fi + done + done + fi + + if [[ ${options} =~ event([0-9]+) ]]; then + echo "${options} input device path is available in the service vm." >> /dev/stderr + else + echo "${options} input device path is not found in the service vm." >> /dev/stderr + return + fi + + if [ -n "${options}" ] && [ -n "${unique_identifier}" ]; then + options="${options},${unique_identifier}" + fi + + fi + + echo -n "-s ${slot},${kind}" + if [ -n "${options}" ]; then + echo -n ",${options}" + fi +} + +function add_passthrough_device() { + slot=$1 + physical_bdf=$2 + options=$3 + + unbind_device ${physical_bdf%,*} + + # bus, device and function as decimal integers + bus_temp=${physical_bdf#*:}; bus=$((16#${bus_temp%:*})) + dev_temp=${physical_bdf##*:}; dev=$((16#${dev_temp%.*})) + fun=$((16#${physical_bdf#*.})) + + echo -n "-s " + printf '%s,passthru,%x/%x/%x' ${slot} ${bus} ${dev} ${fun} + if [ -n "${options}" ]; then + echo -n ",${options}" + fi +} + +### +# The followings are generated by launch_cfg_gen.py +### + +# Defining variables that describe VM types +vm_type='RTVM' +scheduler='SCHED_BVT' +own_pcpu='n' + +# Initializing +probe_modules +mac=$(cat /sys/class/net/e*/address) + + +# Note for developers: The number of available logical CPUs depends on the +# number of enabled cores and whether Hyperthreading is enabled in the BIOS +# settings. CPU IDs are assigned to each logical CPU but are not the same ID +# value throughout the system: +# +# Native CPU_ID: +# ID enumerated by the Linux Kernel and shown in the +# ACRN Configurator's CPU Affinity option (used in the scenario.xml) +# Service VM CPU_ID: +# ID assigned by the Service VM at runtime +# APIC_ID: +# Advanced Programmable Interrupt Controller's unique ID as +# enumerated by the board inspector (used in this launch script) +# +# This table shows equivalent CPU IDs for this scenario and board: +# + +# Native CPU_ID Service VM CPU_ID APIC_ID +# ------------- ----------------- ------- +# 0 0 0 +# 1 1 2 +# 2 2 4 +# 3 3 6 + +# Invoking ACRN device model +dm_params=( + `add_cpus 4 6` + -m 1024M + --ovmf /usr/share/acrn/bios/OVMF.fd + `add_virtual_device 0:0 hostbridge` + --virtio_poll 1000000 + `add_virtual_device 3 virtio-console @stdio:stdio_port` + `add_virtual_device 4 virtio-net tap=RT,mac_seed=${mac:0:17}-POST_RT_VM1` + `add_virtual_device 5 virtio-blk ./core-image-weston-intel-corei7-64.wic` + --rtvm + --lapic_pt + `add_logger_settings console=4 kmsg=3 disk=5` + POST_RT_VM1 +) + +echo "Launch device model with parameters: ${dm_params[@]}" +acrn-dm "${dm_params[@]}" + +# Deinitializing diff --git a/misc/config_tools/data/generic_board/shared.xml b/misc/config_tools/data/generic_board/shared.xml deleted file mode 120000 index 22d6e7e30..000000000 --- a/misc/config_tools/data/generic_board/shared.xml +++ /dev/null @@ -1 +0,0 @@ -shared_launch_2user_vm.xml \ No newline at end of file diff --git a/misc/config_tools/data/generic_board/shared.xml b/misc/config_tools/data/generic_board/shared.xml new file mode 100644 index 000000000..5ac7fa066 --- /dev/null +++ b/misc/config_tools/data/generic_board/shared.xml @@ -0,0 +1,159 @@ + + + debug + + /dev/ttyS0 + 5 + 5 + 3 + + + y + SCHED_BVT + y + n + y + n + + n + n + n + + y + n + y + n + y + + + + 0x2000 + + + 16 + 1 + 96 + 120 + 256 + + 16 + + + 0x00000010 + + + + vUART connection 1 + legacy + + ACRN_Service_VM + 0x2F8 + + + POST_STD_VM1 + 0x2F8 + + + + vUART connection 2 + legacy + + ACRN_Service_VM + 0x3E8 + + + POST_RT_VM1 + 0x3E8 + + + + + + SERVICE_VM + STANDARD_VM + ACRN_Service_VM + + KERNEL_BZIMAGE + Linux_bzImage + + rw rootwait root=/dev/nvme0n1p2 console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3 + i915.nuclear_pageflip=1 swiotlb=131072 + + + COM Port 1 + + + POST_LAUNCHED_VM + STANDARD_VM + POST_STD_VM1 + + + 0 + + + 1 + + + + 4096 + + PRIO_LOW + COM Port 1 + + 00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01) + + n + Windows OS + y + n + + + + Virtio console + stdio + + + WaaG + + + ./win10-ltsc.img + + + + POST_LAUNCHED_VM + RTVM + POST_RT_VM1 + y + + + 2 + y + + + 3 + y + + + + 1024 + + PRIO_LOW + COM Port 1 + n + Non-Windows OS + y + n + + + + Virtio console + stdio + + + RT + + + ./core-image-weston-intel-corei7-64.wic + + + diff --git a/misc/config_tools/data/generic_board/shared_launch_2user_vm.xml b/misc/config_tools/data/generic_board/shared_launch_2user_vm.xml deleted file mode 100644 index bf57ef7d2..000000000 --- a/misc/config_tools/data/generic_board/shared_launch_2user_vm.xml +++ /dev/null @@ -1,133 +0,0 @@ - - - debug - - /dev/ttyS0 - 5 - 5 - 3 - - - y - SCHED_BVT - y - n - y - n - - n - n - n - - y - n - y - n - y - - - - 0x2000 - - - 16 - 1 - 96 - 120 - 256 - - 16 - - - 0x00000010 - - - - SERVICE_VM - STANDARD_VM - ACRN_Service_VM - - KERNEL_BZIMAGE - Linux_bzImage - - rw rootwait root=/dev/nvme0n1p2 console=tty0 console=ttyS0 consoleblank=0 no_timer_check quiet loglevel=3 - i915.nuclear_pageflip=1 swiotlb=131072 - - - COM Port 1 - - - POST_LAUNCHED_VM - STANDARD_VM - POST_STD_VM1 - - - 0 - - - 1 - - - - 4096 - - PRIO_LOW - COM Port 1 - - 00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01) - - n - Windows OS - y - n - - - - Virtio console - stdio - - - WaaG - - - ./win10-ltsc.img - - - - POST_LAUNCHED_VM - RTVM - POST_RT_VM1 - y - - - 2 - y - - - 3 - y - - - - 1024 - - PRIO_LOW - COM Port 1 - n - Non-Windows OS - y - n - - - - Virtio console - stdio - - - RT - - - ./core-image-weston-intel-corei7-64.wic - - - diff --git a/misc/config_tools/data/sample_launch_scripts b/misc/config_tools/data/sample_launch_scripts new file mode 120000 index 000000000..629785879 --- /dev/null +++ b/misc/config_tools/data/sample_launch_scripts @@ -0,0 +1 @@ +generic_board/sample_launch_scripts \ No newline at end of file diff --git a/misc/config_tools/data/sample_launch_scripts/apl-mrb/launch_uos.sh b/misc/config_tools/data/sample_launch_scripts/apl-mrb/launch_uos.sh deleted file mode 100644 index 6cae11917..000000000 --- a/misc/config_tools/data/sample_launch_scripts/apl-mrb/launch_uos.sh +++ /dev/null @@ -1,594 +0,0 @@ -#!/bin/bash -# Copyright (C) 2019-2022 Intel Corporation. -# SPDX-License-Identifier: BSD-3-Clause - -kernel_version=$(uname -r) -audio_module="/usr/lib/modules/$kernel_version/kernel/sound/soc/intel/boards/snd-soc-sst_bxt_sos_tdf8532.ko" -ipu_passthrough=0 - -# Check the device file of /dev/vbs_ipu to determine the IPU mode -if [ ! -e "/dev/vbs_ipu" ]; then -ipu_passthrough=1 -fi - -# use the modprobe to force loading snd-soc-skl/sst_bxt_bdf8532 -if [ ! -e $(audio_module)]; then -modprobe -q snd-soc-skl -modprobe -q snd-soc-sst_bxt_tdf8532 -else - -modprobe -q snd_soc_skl -modprobe -q snd_soc_tdf8532 -modprobe -q snd_soc_sst_bxt_sos_tdf8532 -modprobe -q snd_soc_skl_virtio_be -fi -audio_passthrough=0 - -# Check the device file of /dev/vbs_k_audio to determine the audio mode -if [ ! -e "/dev/vbs_k_audio" ]; then -audio_passthrough=1 -fi - -cse_passthrough=0 -hbm_ver=`cat /sys/class/mei/mei0/hbm_ver` -major_ver=`echo $hbm_ver | cut -d '.' -f1` -minor_ver=`echo $hbm_ver | cut -d '.' -f2` -if [[ "$major_ver" -lt "2" ]] || \ - [[ "$major_ver" == "2" && "$minor_ver" -le "2" ]]; then - cse_passthrough=1 -fi - -# pci devices for passthru -declare -A passthru_vpid -declare -A passthru_bdf - -passthru_vpid=( -["usb_xdci"]="8086 5aaa" -["ipu"]="8086 5a88" -["ipu_i2c"]="8086 5aac" -["cse"]="8086 5a9a" -["sd_card"]="8086 5aca" -["audio"]="8086 5a98" -["audio_codec"]="8086 5ab4" -["wifi"]="11ab 2b38" -["bluetooth"]="8086 5abc" -) -passthru_bdf=( -["usb_xdci"]="0000:00:15.1" -["ipu"]="0000:00:03.0" -["ipu_i2c"]="0000:00:16.0" -["cse"]="0000:00:0f.0" -["sd_card"]="0000:00:1b.0" -["audio"]="0000:00:0e.0" -["audio_codec"]="0000:00:17.0" -["wifi"]="0000:03:00.0" -["bluetooth"]="0000:00:18.0" -) - -function launch_clearlinux() -{ -if [ ! -f "/data/$4/$4.img" ]; then - echo "no /data/$4/$4.img, exit" - exit -fi - -#vm-name used to generate uos-mac address -mac=$(cat /sys/class/net/e*/address) -vm_name=vm$1 -mac_seed=${mac:9:8}-${vm_name} - -# create a unique tap device for each VM -tap=tap_$5 -tap_exist=$(ip a | grep "$tap" | awk '{print $1}') -if [ "$tap_exist"x != "x" ]; then - echo "tap device existed, reuse $tap" -else - ip tuntap add dev $tap mode tap -fi - -# if acrn-br0 exists, add VM's unique tap device under it -br_exist=$(ip a | grep acrn-br0 | awk '{print $1}') -if [ "$br_exist"x != "x" -a "$tap_exist"x = "x" ]; then - echo "acrn-br0 bridge aleady exists, adding new tap device to it..." - ip link set "$tap" master acrn-br0 - ip link set dev "$tap" down - ip link set dev "$tap" up -fi - -#check if the vm is running or not -vm_ps=$(pgrep -a -f acrn-dm) -result=$(echo $vm_ps | grep -w "${vm_name}") -if [[ "$result" != "" ]]; then - echo "$vm_name is running, can't create twice!" - exit -fi - -#for VT-d device setting -modprobe pci_stub -echo ${passthru_vpid["usb_xdci"]} > /sys/bus/pci/drivers/pci-stub/new_id -echo ${passthru_bdf["usb_xdci"]} > /sys/bus/pci/devices/${passthru_bdf["usb_xdci"]}/driver/unbind -echo ${passthru_bdf["usb_xdci"]} > /sys/bus/pci/drivers/pci-stub/bind - -echo 100 > /sys/bus/usb/drivers/usb-storage/module/parameters/delay_use - -boot_ipu_option="" -if [ $ipu_passthrough == 1 ];then - # for ipu passthrough - ipu device - if [ -d "/sys/bus/pci/devices/${passthru_bdf["ipu"]}" ]; then - echo ${passthru_vpid["ipu"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["ipu"]} > /sys/bus/pci/devices/${passthru_bdf["ipu"]}/driver/unbind - echo ${passthru_bdf["ipu"]} > /sys/bus/pci/drivers/pci-stub/bind - boot_ipu_option="$boot_ipu_option"" -s 12,passthru,0/3/0 " - fi - - # for ipu passthrough - ipu related i2c - # please use virtual slot 22 for i2c to make sure that the i2c controller - # could get the same virtaul BDF as physical BDF - if [ -d "/sys/bus/pci/devices/${passthru_bdf["ipu_i2c"]}" ]; then - echo ${passthru_vpid["ipu_i2c"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["ipu_i2c"]} > /sys/bus/pci/devices/${passthru_bdf["ipu_i2c"]}/driver/unbind - echo ${passthru_bdf["ipu_i2c"]} > /sys/bus/pci/drivers/pci-stub/bind - boot_ipu_option="$boot_ipu_option"" -s 22,passthru,0/16/0 " - fi -else - boot_ipu_option="$boot_ipu_option"" -s 21,virtio-ipu " -fi - -boot_cse_option="" -if [ $cse_passthrough == 1 ]; then - echo ${passthru_vpid["cse"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["cse"]} > /sys/bus/pci/devices/${passthru_bdf["cse"]}/driver/unbind - echo ${passthru_bdf["cse"]} > /sys/bus/pci/drivers/pci-stub/bind - boot_cse_option="$boot_cse_option"" -s 15,passthru,0/0f/0 " -else - boot_cse_option="$boot_cse_option"" -s 15,virtio-heci,0/0f/0 " -fi - -# for sd card passthrough - SDXC/MMC Host Controller 00:1b.0 -echo ${passthru_vpid["sd_card"]} > /sys/bus/pci/drivers/pci-stub/new_id -echo ${passthru_bdf["sd_card"]} > /sys/bus/pci/devices/${passthru_bdf["sd_card"]}/driver/unbind -echo ${passthru_bdf["sd_card"]} > /sys/bus/pci/drivers/pci-stub/bind - -#for memsize setting, total 8GB(>7.5GB) uos->6GB, 4GB(>3.5GB) uos->2GB -memsize=`cat /proc/meminfo|head -n 1|awk '{print $2}'` -if [ $memsize -gt 7500000 ];then - mem_size=6G -elif [ $memsize -gt 3500000 ];then - mem_size=2G -else - mem_size=1750M -fi - -if [ "$setup_mem" != "" ];then - mem_size=$setup_mem -fi - -boot_dev_flag=",b" -if [ $6 == 1 ];then - boot_image_option="--vsbl /usr/share/acrn/bios/VSBL_debug.bin" -else - boot_image_option="--vsbl /usr/share/acrn/bios/VSBL.bin" -fi - -#interrupt storm monitor for pass-through devices, params order: -#threshold/s,probe-period(s),intr-inject-delay-time(ms),delay-duration(ms) -intr_storm_monitor="--intr_monitor 10000,10,1,100" - -acrn-dm --help 2>&1 | grep 'GVT args' -if [ $? == 0 ];then - GVT_args=$2 - boot_GVT_option=" -s 0:2:0,pci-gvt -G " -else - boot_GVT_option='' - GVT_args='' -fi - - -acrn-dm -A -m $mem_size $boot_GVT_option"$GVT_args" -s 0:0,hostbridge -s 1:0,lpc -l com1,stdio \ - -s 5,virtio-console,@pty:pty_port \ - -s 6,virtio-hyper_dmabuf \ - -s 8,wdt-i6300esb \ - -s 3,virtio-blk$boot_dev_flag,/data/$4/$4.img \ - -s 4,virtio-net,$tap $boot_image_option \ - -s 7,xhci,1-1:1-2:1-3:2-1:2-2:2-3:cap=apl \ - -s 9,passthru,0/15/1 \ - $boot_cse_option \ - --mac_seed $mac_seed \ - -s 27,passthru,0/1b/0 \ - $intr_storm_monitor \ - $boot_ipu_option \ - -i /run/acrn/ioc_$vm_name,0x20 \ - -l com2,/run/acrn/ioc_$vm_name \ - --pm_notify_channel ioc \ - -B "root=/dev/vda2 rw rootwait nohpet console=hvc0 \ - snd_soc_skl_virtio_fe.domain_id=1 \ - snd_soc_skl_virtio_fe.domain_name="GuestOS" \ - console=ttyS0 no_timer_check ignore_loglevel log_buf_len=16M \ - consoleblank=0 tsc=reliable i915.avail_planes_per_pipe=$3 i915.enable_guc_loading=0 \ - i915.enable_hangcheck=0 i915.nuclear_pageflip=1 \ - i915.enable_guc_submission=0 i915.enable_guc=0" $vm_name -} - -function launch_android() -{ -if [ ! -f "/data/$4/$4.img" ]; then - echo "no /data/$4/$4.img, exit" - exit -fi - -#vm-name used to generate uos-mac address -mac=$(cat /sys/class/net/e*/address) -vm_name=vm$1 -mac_seed=${mac:9:8}-${vm_name} - -# create a unique tap device for each VM -tap=tap_$5 -tap_exist=$(ip a | grep "$tap" | awk '{print $1}') -if [ "$tap_exist"x != "x" ]; then - echo "tap device existed, reuse $tap" -else - ip tuntap add dev $tap mode tap -fi - -# if acrn-br0 exists, add VM's unique tap device under it -br_exist=$(ip a | grep acrn-br0 | awk '{print $1}') -if [ "$br_exist"x != "x" -a "$tap_exist"x = "x" ]; then - echo "acrn-br0 bridge aleady exists, adding new tap device to it..." - ip link set "$tap" master acrn-br0 - ip link set dev "$tap" down - ip link set dev "$tap" up -fi - -#Use MMC name + serial for ADB serial no., same as native android -mmc_name=`cat /sys/block/mmcblk1/device/name` -mmc_serial=`cat /sys/block/mmcblk1/device/serial | sed -n 's/^..//p'` -ser=$mmc_name$mmc_serial - -#check if the vm is running or not -vm_ps=$(pgrep -a -f acrn-dm) -result=$(echo $vm_ps | grep -w "${vm_name}") -if [[ "$result" != "" ]]; then - echo "$vm_name is running, can't create twice!" - exit -fi - -#for VT-d device setting -modprobe pci_stub -echo ${passthru_vpid["usb_xdci"]} > /sys/bus/pci/drivers/pci-stub/new_id -echo ${passthru_bdf["usb_xdci"]} > /sys/bus/pci/devices/${passthru_bdf["usb_xdci"]}/driver/unbind -echo ${passthru_bdf["usb_xdci"]} > /sys/bus/pci/drivers/pci-stub/bind - -#for audio device -boot_audio_option="" -if [ $audio_passthrough == 1 ]; then - echo ${passthru_vpid["audio"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["audio"]} > /sys/bus/pci/devices/${passthru_bdf["audio"]}/driver/unbind - echo ${passthru_bdf["audio"]} > /sys/bus/pci/drivers/pci-stub/bind - - #for audio codec - echo ${passthru_vpid["audio_codec"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["audio_codec"]} > /sys/bus/pci/devices/${passthru_bdf["audio_codec"]}/driver/unbind - echo ${passthru_bdf["audio_codec"]} > /sys/bus/pci/drivers/pci-stub/bind - - boot_audio_option="-s 14,passthru,0/e/0,keep_gsi -s 23,passthru,0/17/0" -else - boot_audio_option="-s 14,virtio-audio" -fi - -# for sd card passthrough - SDXC/MMC Host Controller 00:1b.0 -echo ${passthru_vpid["sd_card"]} > /sys/bus/pci/drivers/pci-stub/new_id -echo ${passthru_bdf["sd_card"]} > /sys/bus/pci/devices/${passthru_bdf["sd_card"]}/driver/unbind -echo ${passthru_bdf["sd_card"]} > /sys/bus/pci/drivers/pci-stub/bind - -# WIFI -echo ${passthru_vpid["wifi"]} > /sys/bus/pci/drivers/pci-stub/new_id -echo ${passthru_bdf["wifi"]} > /sys/bus/pci/devices/${passthru_bdf["wifi"]}/driver/unbind -echo ${passthru_bdf["wifi"]} > /sys/bus/pci/drivers/pci-stub/bind - -# Bluetooth passthrough depends on WIFI -echo ${passthru_vpid["bluetooth"]} > /sys/bus/pci/drivers/pci-stub/new_id -echo ${passthru_bdf["bluetooth"]} > /sys/bus/pci/devices/${passthru_bdf["bluetooth"]}/driver/unbind -echo ${passthru_bdf["bluetooth"]} > /sys/bus/pci/drivers/pci-stub/bind - -# Check if the NPK device/driver is present -ls -d /sys/bus/pci/drivers/intel_th_pci/0000* 2>/dev/null 1>/dev/null -if [ $? == 0 ];then - npk_virt="-s 0:0:2,npk,8/24" -else - npk_virt="" -fi - -# WA for USB role switch hang issue, disable runtime PM of xHCI device -echo on > /sys/devices/pci0000:00/0000:00:15.0/power/control - -echo 100 > /sys/bus/usb/drivers/usb-storage/module/parameters/delay_use - -boot_ipu_option="" -if [ $ipu_passthrough == 1 ];then - # for ipu passthrough - ipu device - if [ -d "/sys/bus/pci/devices/${passthru_bdf["ipu"]}" ]; then - echo ${passthru_vpid["ipu"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["ipu"]} > /sys/bus/pci/devices/${passthru_bdf["ipu"]}/driver/unbind - echo ${passthru_bdf["ipu"]} > /sys/bus/pci/drivers/pci-stub/bind - boot_ipu_option="$boot_ipu_option"" -s 12,passthru,0/3/0 " - fi - - # for ipu passthrough - ipu related i2c - # please use virtual slot 22 for i2c to make sure that the i2c controller - # could get the same virtaul BDF as physical BDF - if [ -d "/sys/bus/pci/devices/${passthru_bdf["ipu_i2c"]}" ]; then - echo ${passthru_vpid["ipu_i2c"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["ipu_i2c"]} > /sys/bus/pci/devices/${passthru_bdf["ipu_i2c"]}/driver/unbind - echo ${passthru_bdf["ipu_i2c"]} > /sys/bus/pci/drivers/pci-stub/bind - boot_ipu_option="$boot_ipu_option"" -s 22,passthru,0/16/0 " - fi -else - boot_ipu_option="$boot_ipu_option"" -s 21,virtio-ipu " -fi - -boot_cse_option="" -if [ $cse_passthrough == 1 ]; then - echo ${passthru_vpid["cse"]} /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["cse"]} > /sys/bus/pci/devices/${passthru_bdf["cse"]}/driver/unbind - echo ${passthru_bdf["cse"]} > /sys/bus/pci/drivers/pci-stub/bind - boot_cse_option="$boot_cse_option"" -s 15,passthru,0/0f/0 " -else - boot_cse_option="$boot_cse_option"" -s 15,virtio-heci,0/0f/0 " -fi - -#for memsize setting, total 8GB(>7.5GB) uos->6GB, 4GB(>3.5GB) uos->2GB -memsize=`cat /proc/meminfo|head -n 1|awk '{print $2}'` -if [ $memsize -gt 7500000 ];then - mem_size=6G -elif [ $memsize -gt 3500000 ];then - mem_size=2G -else - mem_size=1750M -fi - -if [ "$setup_mem" != "" ];then - mem_size=$setup_mem -fi - -kernel_cmdline_generic="nohpet tsc=reliable intel_iommu=off \ - androidboot.serialno=$ser \ - snd_soc_skl_virtio_fe.domain_id=1 \ - snd_soc_skl_virtio_fe.domain_name="GuestOS" \ - i915.enable_rc6=1 i915.enable_fbc=1 i915.enable_guc_loading=0 i915.avail_planes_per_pipe=$3 \ - i915.enable_hangcheck=0 use_nuclear_flip=1 i915.enable_guc_submission=0 i915.enable_guc=0" - -boot_dev_flag=",b" -if [ $6 == 1 ];then - boot_image_option="--vsbl /usr/share/acrn/bios/VSBL_debug.bin" -else - boot_image_option="--vsbl /usr/share/acrn/bios/VSBL.bin" -fi -kernel_cmdline="$kernel_cmdline_generic" - -: ' -select right virtual slots for acrn_dm: -1. some passthru device need virtual slot same as physical, like audio 0:e.0 at -virtual #14 slot, so "-s 14,passthru,0/e/0" -2. acrn_dm share vioapic irq between some virtual slots: like 6&14, 7&15. Need -guarantee no virt irq sharing for each passthru device. -FIXME: picking a virtual slot (#24 now) which is level-triggered to make sure -audio codec passthrough working -3. the bootable device slot is configured in compile stating in Android Guest -image, it should be kept using 3 as fixed value for Android Guest on Gordon_peak -ACRN project -' - -#interrupt storm monitor for pass-through devices, params order: -#threshold/s,probe-period(s),intr-inject-delay-time(ms),delay-duration(ms) -intr_storm_monitor="--intr_monitor 10000,10,1,100" - -acrn-dm --help 2>&1 | grep 'GVT args' -if [ $? == 0 ];then - GVT_args=$2 - boot_GVT_option=" -s 2,pci-gvt -G " -else - boot_GVT_option='' - GVT_args='' -fi - - acrn-dm -A -m $mem_size $boot_GVT_option"$GVT_args" -s 0:0,hostbridge -s 1:0,lpc -l com1,stdio $npk_virt\ - -s 9,virtio-net,$tap \ - -s 3,virtio-blk$boot_dev_flag,/data/$4/$4.img \ - -s 7,xhci,1-1:1-2:1-3:2-1:2-2:2-3:cap=apl \ - -s 8,passthru,0/15/1 \ - -s 13,virtio-rpmb \ - -s 10,virtio-hyper_dmabuf \ - -s 11,wdt-i6300esb \ - $boot_audio_option \ - $boot_cse_option \ - --mac_seed $mac_seed \ - -s 27,passthru,0/1b/0 \ - -s 24,passthru,0/18/0 \ - -s 18,passthru,3/0/0,keep_gsi \ - $intr_storm_monitor \ - $boot_ipu_option \ - -i /run/acrn/ioc_$vm_name,0x20 \ - -l com2,/run/acrn/ioc_$vm_name \ - --pm_notify_channel ioc \ - $boot_image_option \ - --enable_trusty \ - -B "$kernel_cmdline" $vm_name -} - -function launch_alios() -{ -#AliOS is not Android, only has same configuration currently, reuse launch function - -launch_android "$@" -} - -function help() -{ -echo "Use luanch_uos.sh like that ./launch_uos.sh -V <#>" -echo "The option -V means the UOSs group to be launched by vsbl as below" -echo "-V 1 means just launching 1 clearlinux UOS" -echo "-V 2 means just launching 1 android UOS" -echo "-V 3 means launching 1 clearlinux UOS + 1 android UOS" -echo "-V 4 means launching 2 clearlinux UOSs" -echo "-V 5 means just launching 1 alios UOS" -echo "-V 6 means auto check android/linux/alios UOS; if exist, launch it" -echo "-C means launching acrn-dm in runC container for QoS" -} - -launch_type=1 -debug=0 -runC_enable=0 - -function run_container() -{ -vm_name=vm1 -config_src="/usr/share/acrn/samples/apl-mrb/runC.json" -shell="/usr/share/acrn/conf/add/$vm_name.sh" -arg_file="/usr/share/acrn/conf/add/$vm_name.args" -runc_bundle="/usr/share/acrn/conf/add/runc/$vm_name" -rootfs_dir="/usr/share/acrn/conf/add/runc/rootfs" -config_dst="$runc_bundle/config.json" - - -input=$(runc list -f table | awk '{print $1}''{print $3}') -arr=(${input// / }) - -for((i=0;i<${#arr[@]};i++)) -do - if [ "$vm_name" = "${arr[$i]}" ]; then - if [ "running" = "${arr[$i+1]}" ]; then - echo "runC instance ${arr[$i]} is running" - exit - else - runc kill ${arr[$i]} - runc delete ${arr[$i]} - fi - fi -done -vmsts=$(acrnctl list) -vms=(${vmsts// / }) -for((i=0;i<${#vms[@]};i++)) -do - if [ "$vm_name" = "${vms[$i]}" ]; then - if [ "stopped" != "${vms[$i+1]}" ]; then - echo "Uos ${vms[$i]} ${vms[$i+1]}" - acrnctl stop ${vms[$i]} - fi - fi -done - -if [ ! -f "$shell" ]; then - echo "Pls add the vm at first!" - exit -fi - -if [ ! -f "$arg_file" ]; then - echo "Pls add the vm args!" - exit -fi - -if [ ! -d "$rootfs_dir" ]; then - mkdir -p "$rootfs_dir" -fi -if [ ! -d "$runc_bundle" ]; then - mkdir -p "$runc_bundle" -fi -if [ ! -f "$config_dst" ]; then - cp "$config_src" "$config_dst" - args=$(sed '{s/-C//g;s/^[ \t]*//g;s/^/\"/;s/ /\",\"/g;s/$/\"/}' ${arg_file}) - sed -i "s|\"sh\"|\"$shell\", $args|" $config_dst -fi -runc run --bundle $runc_bundle -d $vm_name -echo "The runC container is running in backgroud" -echo "'#runc exec bash' to login the container bash" -exit -} - -while getopts "V:M:hdC" opt -do - case $opt in - V) launch_type=$[$OPTARG] - ;; - M) setup_mem=$OPTARG - ;; - d) debug=1 - ;; - C) runC_enable=1 - ;; - h) help - exit 1 - ;; - ?) help - exit 1 - ;; - esac -done - -if [ ! -b "/dev/mmcblk1p3" ]; then - echo "no /dev/mmcblk1p3 data partition, exit" - exit -fi - -mkdir -p /data -mount /dev/mmcblk1p3 /data - -if [ $launch_type == 6 ]; then - if [ -f "/data/android/android.img" ]; then - launch_type=2; - elif [ -f "/data/alios/alios.img" ]; then - launch_type=5; - else - launch_type=1; - fi -fi - -if [ $runC_enable == 1 ]; then - if [ $(hostname) = "runc" ]; then - echo "Already in container exit!" - exit - fi - run_container - exit -fi - -# offline SOS CPUs except BSP before launch UOS -for i in `ls -d /sys/devices/system/cpu/cpu[1-99]`; do - online=`cat $i/online` - idx=`echo $i | tr -cd "[1-99]"` - echo cpu$idx online=$online - if [ "$online" = "1" ]; then - echo 0 > $i/online - online=`cat $i/online` - # during boot time, cpu hotplug may be disabled by pci_device_probe during a pci module insmod - while [ "$online" = "1" ]; do - sleep 1 - echo 0 > $i/online - online=`cat $i/online` - done - echo $idx > /sys/devices/virtual/misc/acrn_hsm/remove_cpu - fi -done - -case $launch_type in - 1) echo "Launch clearlinux UOS" - launch_clearlinux 1 "64 448 8" 0x070F00 clearlinux "LaaG" $debug - ;; - 2) echo "Launch android UOS" - launch_android 1 "64 448 8" 0x070F00 android "AaaG" $debug - ;; - 3) echo "Launch clearlinux UOS + android UOS" - launch_android 1 "64 448 4" 0x00000C android "AaaG" $debug & - sleep 5 - launch_clearlinux 2 "64 448 4" 0x070F00 clearlinux "LaaG" $debug - ;; - 4) echo "Launch two clearlinux UOSs" - launch_clearlinux 1 "64 448 4" 0x00000C clearlinux "L1aaG" $debug & - sleep 5 - launch_clearlinux 2 "64 448 4" 0x070F00 clearlinux_dup "L2aaG" $debug - ;; - 5) echo "Launch alios UOS" - launch_alios 1 "64 448 8" 0x070F00 alios "AliaaG" $debug - ;; -esac - -umount /data diff --git a/misc/config_tools/data/sample_launch_scripts/apl-up2/launch_uos.sh b/misc/config_tools/data/sample_launch_scripts/apl-up2/launch_uos.sh deleted file mode 100644 index cbd96c80e..000000000 --- a/misc/config_tools/data/sample_launch_scripts/apl-up2/launch_uos.sh +++ /dev/null @@ -1,481 +0,0 @@ -#!/bin/bash -# Copyright (C) 2019-2022 Intel Corporation. -# SPDX-License-Identifier: BSD-3-Clause - -kernel_version=$(uname -r | awk -F. '{ printf("%d.%d", $1,$2) }') - -ipu_passthrough=0 - -# Check the device file of /dev/vbs_ipu to determine the IPU mode -if [ ! -e "/dev/vbs_ipu" ]; then -ipu_passthrough=1 -fi - -audio_passthrough=0 - -# Check the device file of /dev/vbs_k_audio to determine the audio mode -if [ ! -e "/dev/vbs_k_audio" ]; then -audio_passthrough=1 -fi - -cse_passthrough=0 -hbm_ver=`cat /sys/class/mei/mei0/hbm_ver` -major_ver=`echo $hbm_ver | cut -d '.' -f1` -minor_ver=`echo $hbm_ver | cut -d '.' -f2` -if [[ "$major_ver" -lt "2" ]] || \ - [[ "$major_ver" == "2" && "$minor_ver" -le "2" ]]; then - cse_passthrough=1 -fi - -# pci devices for passthru -declare -A passthru_vpid -declare -A passthru_bdf - -passthru_vpid=( -["usb_xdci"]="8086 5aaa" -["ipu"]="8086 5a88" -["ipu_i2c"]="8086 5aac" -["cse"]="8086 5a9a" -["sd_card"]="8086 5acc" -["audio"]="8086 5a98" -["audio_codec"]="8086 5ab4" -) -passthru_bdf=( -["usb_xdci"]="0000:00:15.1" -["ipu"]="0000:00:03.0" -["ipu_i2c"]="0000:00:16.0" -["cse"]="0000:00:0f.0" -["sd_card"]="0000:00:1c.0" -["audio"]="0000:00:0e.0" -["audio_codec"]="0000:00:17.0" -) - -function launch_clearlinux() -{ -if [ ! -f "/data/$4/$4.img" ]; then - echo "no /data/$4/$4.img, exit" - exit -fi - -#vm-name used to generate uos-mac address -mac=$(cat /sys/class/net/en*/address) -vm_name=vm$1 -mac_seed=${mac:9:8}-${vm_name} - -# create a unique tap device for each VM -tap=tap_$5 -tap_exist=$(ip a | grep "$tap" | awk '{print $1}') -if [ "$tap_exist"x != "x" ]; then - echo "tap device existed, reuse $tap" -else - ip tuntap add dev $tap mode tap -fi - -# if acrn-br0 exists, add VM's unique tap device under it -br_exist=$(ip a | grep acrn-br0 | awk '{print $1}') -if [ "$br_exist"x != "x" -a "$tap_exist"x = "x" ]; then - echo "acrn-br0 bridge aleady exists, adding new tap device to it..." - ip link set "$tap" master acrn-br0 - ip link set dev "$tap" down - ip link set dev "$tap" up -fi - -#check if the vm is running or not -vm_ps=$(pgrep -a -f acrn-dm) -result=$(echo $vm_ps | grep -w "${vm_name}") -if [[ "$result" != "" ]]; then - echo "$vm_name is running, can't create twice!" - exit -fi - -#for VT-d device setting -modprobe pci_stub -echo ${passthru_vpid["usb_xdci"]} > /sys/bus/pci/drivers/pci-stub/new_id -echo ${passthru_bdf["usb_xdci"]} > /sys/bus/pci/devices/${passthru_bdf["usb_xdci"]}/driver/unbind -echo ${passthru_bdf["usb_xdci"]} > /sys/bus/pci/drivers/pci-stub/bind - -boot_ipu_option="" -if [ $ipu_passthrough == 1 ];then - # for ipu passthrough - ipu device 0:3.0 - if [ -d "/sys/bus/pci/devices/${passthru_bdf["ipu"]}" ]; then - echo ${passthru_vpid["ipu"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["ipu"]} > /sys/bus/pci/devices/${passthru_bdf["ipu"]}/driver/unbind - echo ${passthru_bdf["ipu"]} > /sys/bus/pci/drivers/pci-stub/bind - boot_ipu_option="$boot_ipu_option"" -s 12,passthru,0/3/0 " - fi - - # for ipu passthrough - ipu related i2c - # please use virtual slot 22 for i2c to make sure that the i2c controller - # could get the same virtaul BDF as physical BDF - if [ -d "/sys/bus/pci/devices/${passthru_bdf["ipu_i2c"]}" ]; then - echo ${passthru_vpid["ipu_i2c"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["ipu_i2c"]} > /sys/bus/pci/devices/${passthru_bdf["ipu_i2c"]}/driver/unbind - echo ${passthru_bdf["ipu_i2c"]} > /sys/bus/pci/drivers/pci-stub/bind - boot_ipu_option="$boot_ipu_option"" -s 22,passthru,0/16/0 " - fi -else - boot_ipu_option="$boot_ipu_option"" -s 21,virtio-ipu " -fi - -boot_cse_option="" -if [ $cse_passthrough == 1 ]; then - echo ${passthru_vpid["cse"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["cse"]} > /sys/bus/pci/devices/${passthru_bdf["cse"]}/driver/unbind - echo ${passthru_bdf["cse"]} > /sys/bus/pci/drivers/pci-stub/bind - boot_cse_option="$boot_cse_option"" -s 15,passthru,0/0f/0 " -else - boot_cse_option="$boot_cse_option"" -s 15,virtio-heci,0/0f/0 " -fi - -# for sd card passthrough - SDXC/MMC Host Controller -# echo ${passthru_vpid["sd_card"]} > /sys/bus/pci/drivers/pci-stub/new_id -# echo ${passthru_bdf["sd_card"]} > /sys/bus/pci/devices/${passthru_bdf["sd_card"]}/driver/unbind -# echo ${passthru_bdf["sd_card"]} > /sys/bus/pci/drivers/pci-stub/bind - -#for memsize setting, total 8GB(>7.5GB) uos->6GB, 4GB(>3.5GB) uos->2GB -memsize=`cat /proc/meminfo|head -n 1|awk '{print $2}'` -if [ $memsize -gt 7500000 ];then - mem_size=6G -elif [ $memsize -gt 3500000 ];then - mem_size=2G -else - mem_size=1750M -fi - -if [ "$setup_mem" != "" ];then - mem_size=$setup_mem -fi - -boot_dev_flag=",b" -if [ $6 == 1 ];then - boot_image_option="--vsbl /usr/share/acrn/bios/VSBL_debug.bin" -else - boot_image_option="--vsbl /usr/share/acrn/bios/VSBL.bin" -fi - -#interrupt storm monitor for pass-through devices, params order: -#threshold/s,probe-period(s),intr-inject-delay-time(ms),delay-duration(ms) -intr_storm_monitor="--intr_monitor 10000,10,1,100" - -acrn-dm --help 2>&1 | grep 'GVT args' -if [ $? == 0 ];then - GVT_args=$2 - boot_GVT_option=" -s 0:2:0,pci-gvt -G " -else - boot_GVT_option='' - GVT_args='' -fi - -#logger_setting, format: logger_name,level; like following -logger_setting="--logger_setting console,level=4;kmsg,level=3;disk,level=5" - -acrn-dm -A -m $mem_size $boot_GVT_option"$GVT_args" -s 0:0,hostbridge -s 1:0,lpc -l com1,stdio \ - -s 5,virtio-console,@pty:pty_port \ - -s 6,virtio-hyper_dmabuf \ - -s 8,wdt-i6300esb \ - -s 3,virtio-blk$boot_dev_flag,/data/$4/$4.img \ - -s 4,virtio-net,$tap $boot_image_option \ - -s 7,xhci,1-1:1-2:1-3:2-1:2-2:2-3:cap=apl \ - -s 9,passthru,0/15/1 \ - $boot_cse_option \ - $intr_storm_monitor \ - $logger_setting \ - $boot_ipu_option \ - --mac_seed $mac_seed \ - --pm_notify_channel power_button \ - -B "root=/dev/vda2 rw rootwait nohpet console=hvc0 \ - console=ttyS0 no_timer_check ignore_loglevel log_buf_len=16M \ - consoleblank=0 tsc=reliable i915.avail_planes_per_pipe=$3 i915.enable_guc_loading=0 \ - i915.enable_hangcheck=0 i915.nuclear_pageflip=1 \ - i915.enable_guc_submission=0 i915.enable_guc=0" $vm_name -} - -function launch_android() -{ -if [ ! -f "/data/$4/$4.img" ]; then - echo "no /data/$4/$4.img, exit" - exit -fi - -#vm-name used to generate uos-mac address -mac=$(cat /sys/class/net/en*/address) -vm_name=vm$1 -mac_seed=${mac:9:8}-${vm_name} - -# create a unique tap device for each VM -tap=tap_$5 -tap_exist=$(ip a | grep "$tap" | awk '{print $1}') -if [ "$tap_exist"x != "x" ]; then - echo "tap device existed, reuse $tap" -else - ip tuntap add dev $tap mode tap -fi - -# if acrn-br0 exists, add VM's unique tap device under it -br_exist=$(ip a | grep acrn-br0 | awk '{print $1}') -if [ "$br_exist"x != "x" -a "$tap_exist"x = "x" ]; then - echo "acrn-br0 bridge aleady exists, adding new tap device to it..." - ip link set "$tap" master acrn-br0 - ip link set dev "$tap" down - ip link set dev "$tap" up -fi - -#Use MMC name + serial for ADB serial no., same as native android -mmc_name=`cat /sys/block/mmcblk0/device/name` -mmc_serial=`cat /sys/block/mmcblk0/device/serial | sed -n 's/^..//p'` -ser=$mmc_name$mmc_serial - -#check if the vm is running or not -vm_ps=$(pgrep -a -f acrn-dm) -result=$(echo $vm_ps | grep -w "${vm_name}") -if [[ "$result" != "" ]]; then - echo "$vm_name is running, can't create twice!" - exit -fi - -#for VT-d device setting -modprobe pci_stub -echo ${passthru_vpid["usb_xdci"]} > /sys/bus/pci/drivers/pci-stub/new_id -echo ${passthru_bdf["usb_xdci"]} > /sys/bus/pci/devices/${passthru_bdf["usb_xdci"]}/driver/unbind -echo ${passthru_bdf["usb_xdci"]} > /sys/bus/pci/drivers/pci-stub/bind - -#for audio device -boot_audio_option="" -if [ $audio_passthrough == 1 ]; then - echo ${passthru_vpid["audio"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["audio"]} > /sys/bus/pci/devices/${passthru_bdf["audio"]}/driver/unbind - echo ${passthru_bdf["audio"]} > /sys/bus/pci/drivers/pci-stub/bind - - #for audio codec - echo ${passthru_vpid["audio_codec"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["audio_codec"]} > /sys/bus/pci/devices/${passthru_bdf["audio_codec"]}/driver/unbind - echo ${passthru_bdf["audio_codec"]} > /sys/bus/pci/drivers/pci-stub/bind - - boot_audio_option="-s 14,passthru,0/e/0,keep_gsi -s 23,passthru,0/17/0" -else - boot_audio_option="-s 14,virtio-audio" -fi -# # for sd card passthrough - SDXC/MMC Host Controller 00:1b.0 -# echo ${passthru_vpid["sd_card"]} > /sys/bus/pci/drivers/pci-stub/new_id -# echo ${passthru_bdf["sd_card"]} > /sys/bus/pci/devices/${passthru_bdf["sd_card"]}/driver/unbind -# echo ${passthru_bdf["sd_card"]} > /sys/bus/pci/drivers/pci-stub/bind - -# Check if the NPK device/driver is present -ls -d /sys/bus/pci/drivers/intel_th_pci/0000* 2>/dev/null 1>/dev/null -if [ $? == 0 ];then - npk_virt="-s 0:0:2,npk,8/24" -else - npk_virt="" -fi - -# WA for USB role switch hang issue, disable runtime PM of xHCI device -echo on > /sys/devices/pci0000:00/0000:00:15.0/power/control - -boot_ipu_option="" -if [ $ipu_passthrough == 1 ];then - # for ipu passthrough - ipu device - if [ -d "/sys/bus/pci/devices/${passthru_bdf["ipu"]}" ]; then - echo ${passthru_vpid["ipu"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["ipu"]} > /sys/bus/pci/devices/${passthru_bdf["ipu"]}/driver/unbind - echo ${passthru_bdf["ipu"]} > /sys/bus/pci/drivers/pci-stub/bind - boot_ipu_option="$boot_ipu_option"" -s 12,passthru,0/3/0 " - fi - - # for ipu passthrough - ipu related i2c 0:16.0 - # please use virtual slot 22 for i2c 0:16.0 to make sure that the i2c controller - # could get the same virtaul BDF as physical BDF - if [ -d "/sys/bus/pci/devices/0000:00:16.0" ]; then - echo ${passthru_vpid["ipu_i2c"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["ipu_i2c"]} > /sys/bus/pci/devices/${passthru_bdf["ipu_i2c"]}/driver/unbind - echo ${passthru_bdf["ipu_i2c"]} > /sys/bus/pci/drivers/pci-stub/bind - boot_ipu_option="$boot_ipu_option"" -s 22,passthru,0/16/0 " - fi -else - boot_ipu_option="$boot_ipu_option"" -s 21,virtio-ipu " -fi - -boot_cse_option="" -if [ $cse_passthrough == 1 ]; then - echo ${passthru_vpid["cse"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["cse"]} > /sys/bus/pci/devices/${passthru_bdf["cse"]}/driver/unbind - echo ${passthru_bdf["cse"]} > /sys/bus/pci/drivers/pci-stub/bind - boot_cse_option="$boot_cse_option"" -s 15,passthru,0/0f/0 " -else - boot_cse_option="$boot_cse_option"" -s 15,virtio-heci,0/0f/0 " -fi - -#for memsize setting, total 8GB(>7.5GB) uos->6GB, 4GB(>3.5GB) uos->2GB -memsize=`cat /proc/meminfo|head -n 1|awk '{print $2}'` -if [ $memsize -gt 7500000 ];then - mem_size=6G -elif [ $memsize -gt 3500000 ];then - mem_size=2G -else - mem_size=1750M -fi - -if [ "$setup_mem" != "" ];then - mem_size=$setup_mem -fi - -kernel_cmdline_generic="nohpet tsc=reliable intel_iommu=off \ - androidboot.serialno=$ser \ - i915.enable_rc6=1 i915.enable_fbc=1 i915.enable_guc_loading=0 i915.avail_planes_per_pipe=$3 \ - i915.enable_hangcheck=0 use_nuclear_flip=1 i915.enable_guc_submission=0 i915.enable_guc=0" - -boot_dev_flag=",b" -if [ $6 == 1 ];then - boot_image_option="--vsbl /usr/share/acrn/bios/VSBL_debug.bin" -else - boot_image_option="--vsbl /usr/share/acrn/bios/VSBL.bin" -fi -kernel_cmdline="$kernel_cmdline_generic" - -: ' -select right virtual slots for acrn_dm: -1. some passthru device need virtual slot same as physical, like audio 0:e.0 at -virtual #14 slot, so "-s 14,passthru,0/e/0" -2. acrn_dm share vioapic irq between some virtual slots: like 6&14, 7&15. Need -guarantee no virt irq sharing for each passthru device. -FIXME: picking a virtual slot (#24 now) which is level-triggered to make sure -audio codec passthrough working -3. the bootable device slot is configured in compile stating in Android Guest -image, it should be kept using 3 as fixed value for Android Guest on Gordon_peak -ACRN project -' - -#interrupt storm monitor for pass-through devices, params order: -#threshold/s,probe-period(s),intr-inject-delay-time(ms),delay-duration(ms) -intr_storm_monitor="--intr_monitor 10000,10,1,100" - -acrn-dm --help 2>&1 | grep 'GVT args' -if [ $? == 0 ];then - GVT_args=$2 - boot_GVT_option=" -s 2,pci-gvt -G " -else - boot_GVT_option='' - GVT_args='' -fi - -#logger_setting, format: logger_name,level; like following -logger_setting="--logger_setting console,level=4;kmsg,level=3;disk,level=5" - - acrn-dm -A -m $mem_size $boot_GVT_option"$GVT_args" -s 0:0,hostbridge -s 1:0,lpc -l com1,stdio $npk_virt\ - -s 9,virtio-net,$tap \ - -s 3,virtio-blk$boot_dev_flag,/data/$4/$4.img \ - -s 7,xhci,1-1:1-2:1-3:2-1:2-2:2-3:cap=apl \ - -s 8,passthru,0/15/1 \ - -s 13,virtio-rpmb \ - -s 10,virtio-hyper_dmabuf \ - -s 11,wdt-i6300esb \ - $boot_audio_option \ - $boot_cse_option \ - $intr_storm_monitor \ - $logger_setting \ - $boot_ipu_option \ - --mac_seed $mac_seed \ - $boot_image_option \ - --enable_trusty \ - --pm_notify_channel power_button \ - -B "$kernel_cmdline" $vm_name -} - -function launch_alios() -{ -#AliOS is not Android, only has same configuration currently, reuse launch function - -launch_android "$@" -} - -function help() -{ -echo "Use luanch_uos.sh like that ./launch_uos.sh -V <#>" -echo "The option -V means the UOSs group to be launched by vsbl as below" -echo "-V 1 means just launching 1 clearlinux UOS" -echo "-V 2 means just launching 1 android UOS" -echo "-V 3 means launching 1 clearlinux UOS + 1 android UOS" -echo "-V 4 means launching 2 clearlinux UOSs" -echo "-V 5 means just launching 1 alios UOS" -echo "-V 6 means auto check android/linux/alios UOS; if exist, launch it" -} - -launch_type=1 -debug=0 - -while getopts "V:M:hd" opt -do - case $opt in - V) launch_type=$[$OPTARG] - ;; - M) setup_mem=$OPTARG - ;; - d) debug=1 - ;; - h) help - exit 1 - ;; - ?) help - exit 1 - ;; - esac -done - -if [ ! -b "/dev/mmcblk0p1" ]; then - echo "no /dev/mmcblk0p1 data partition, exit" - exit -fi - -mkdir -p /data -mount /dev/mmcblk0p1 /data - -if [ $launch_type == 6 ]; then - if [ -f "/data/android/android.img" ]; then - launch_type=2; - elif [ -f "/data/alios/alios.img" ]; then - launch_type=5; - else - launch_type=1; - fi -fi - -# offline SOS CPUs except BSP before launch UOS -for i in `ls -d /sys/devices/system/cpu/cpu[1-99]`; do - online=`cat $i/online` - idx=`echo $i | tr -cd "[1-99]"` - echo cpu$idx online=$online - if [ "$online" = "1" ]; then - echo 0 > $i/online - online=`cat $i/online` - # during boot time, cpu hotplug may be disabled by pci_device_probe during a pci module insmod - while [ "$online" = "1" ]; do - sleep 1 - echo 0 > $i/online - online=`cat $i/online` - done - echo $idx > /sys/devices/virtual/misc/acrn_hsm/remove_cpu - fi -done - -case $launch_type in - 1) echo "Launch clearlinux UOS" - launch_clearlinux 1 "64 448 8" 0x070F00 clearlinux "LaaG" $debug - ;; - 2) echo "Launch android UOS" - launch_android 1 "64 448 8" 0x070F00 android "AaaG" $debug - ;; - 3) echo "Launch clearlinux UOS + android UOS" - launch_android 1 "64 448 4" 0x00000C android "AaaG" $debug & - sleep 5 - launch_clearlinux 2 "64 448 4" 0x070F00 clearlinux "LaaG" $debug - ;; - 4) echo "Launch two clearlinux UOSs" - launch_clearlinux 1 "64 448 4" 0x00000C clearlinux "L1aaG" $debug & - sleep 5 - launch_clearlinux 2 "64 448 4" 0x070F00 clearlinux_dup "L2aaG" $debug - ;; - 5) echo "Launch alios UOS" - launch_alios 1 "64 448 8" 0x070F00 alios "AliaaG" $debug - ;; -esac - -umount /data diff --git a/misc/config_tools/data/sample_launch_scripts/launch_ubuntu.sh b/misc/config_tools/data/sample_launch_scripts/launch_ubuntu.sh deleted file mode 100755 index d38ae1fcf..000000000 --- a/misc/config_tools/data/sample_launch_scripts/launch_ubuntu.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -# Copyright (C) 2020-2022 Intel Corporation. -# SPDX-License-Identifier: BSD-3-Clause - -function launch_ubuntu() -{ -vm_name=ubuntu_vm$1 - -logger_setting="--logger_setting console,level=5;kmsg,level=6;disk,level=5" - -#check if the vm is running or not -vm_ps=$(pgrep -a -f acrn-dm) -result=$(echo $vm_ps | grep "${vm_name}") -if [[ "$result" != "" ]]; then - echo "$vm_name is running, can't create twice!" - exit -fi - -#for memsize setting -mem_size=1024M - -acrn-dm -A -m $mem_size -s 0:0,hostbridge \ - -s 3,virtio-blk,/home/guestl1/acrn-dm-bins/ubuntuUOS.img \ - -s 4,virtio-net,tap0 \ - -s 5,virtio-console,@stdio:stdio_port \ - -k /home/guestl1/acrn-dm-bins/bzImage_uos \ - -B "earlyprintk=serial,ttyS0,115200n8 consoleblank=0 root=/dev/vda1 rw rootwait maxcpus=1 nohpet console=tty0 console=hvc0 console=ttyS0 no_timer_check ignore_loglevel log_buf_len=16M tsc=reliable" \ - $logger_setting \ - $vm_name -} - -# offline SOS CPUs except BSP before launch UOS -for i in `ls -d /sys/devices/system/cpu/cpu[1-99]`; do - online=`cat $i/online` - idx=`echo $i | tr -cd "[1-99]"` - echo cpu$idx online=$online - if [ "$online" = "1" ]; then - echo 0 > $i/online - # during boot time, cpu hotplug may be disabled by pci_device_probe during a pci module insmod - while [ "$online" = "1" ]; do - sleep 1 - echo 0 > $i/online - online=`cat $i/online` - done - echo $idx > /sys/devices/virtual/misc/acrn_hsm/remove_cpu - fi -done - -launch_ubuntu 1 "64 448 8" diff --git a/misc/config_tools/data/sample_launch_scripts/nuc/launch_hard_rt_vm.sh b/misc/config_tools/data/sample_launch_scripts/nuc/launch_hard_rt_vm.sh deleted file mode 100755 index 44c145c68..000000000 --- a/misc/config_tools/data/sample_launch_scripts/nuc/launch_hard_rt_vm.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/bash -# Copyright (C) 2019-2022 Intel Corporation. -# SPDX-License-Identifier: BSD-3-Clause -# This is an example, if use different HW,the script must be adapted to match the BDF on the actual HW platform - -# pci devices for passthru -declare -A passthru_vpid -declare -A passthru_bdf - -passthru_vpid=( -["eth"]="8086 156f" -["sata"]="8086 9d03" -["nvme"]="8086 f1a6" -) -passthru_bdf=( -["eth"]="0000:00:1f.6" -["sata"]="0000:00:17.0" -["nvme"]="0000:02:00.0" -) - -function launch_hard_rt_vm() -{ -#for memsize setting -mem_size=1024M - -modprobe pci_stub -# Ethernet pass-through -#echo ${passthru_vpid["eth"]} > /sys/bus/pci/drivers/pci-stub/new_id -#echo ${passthru_bdf["eth"]} > /sys/bus/pci/devices/${passthru_bdf["eth"]}/driver/unbind -#echo ${passthru_bdf["eth"]} > /sys/bus/pci/drivers/pci-stub/bind - -# SATA pass-through -#echo ${passthru_vpid["sata"]} > /sys/bus/pci/drivers/pci-stub/new_id -#echo ${passthru_bdf["sata"]} > /sys/bus/pci/devices/${passthru_bdf["sata"]}/driver/unbind -#echo ${passthru_bdf["sata"]} > /sys/bus/pci/drivers/pci-stub/bind - -# NVME pass-through -echo ${passthru_vpid["nvme"]} > /sys/bus/pci/drivers/pci-stub/new_id -echo ${passthru_bdf["nvme"]} > /sys/bus/pci/devices/${passthru_bdf["nvme"]}/driver/unbind -echo ${passthru_bdf["nvme"]} > /sys/bus/pci/drivers/pci-stub/bind - - -/usr/bin/acrn-dm -A -m $mem_size -s 0:0,hostbridge \ - --lapic_pt \ - --rtvm \ - --virtio_poll 1000000 \ - -U 495ae2e5-2603-4d64-af76-d4bc5a8ec0e5 \ - -s 2,passthru,02/0/0 \ - -s 3,virtio-console,@stdio:stdio_port \ - --ovmf /usr/share/acrn/bios/OVMF.fd \ - hard_rtvm - -} - -# -s 2,passthru,0/17/0 \ #please using "lspci -nn" check the bdf info - -# Depends on which partation RT_LaaG is installed in;maybe need to change -# /dev/nvme0n1p3 to /dev/sda3 on NUC and uncomment SATA pass-through -# Add following RT_LaaG kernel cmdline into loader/entries/xxx.conf of EFI partation -#root=/dev/nvme0n1p3 rw rootwait nohpet console=hvc0 console=ttyS0 \ -#no_timer_check ignore_loglevel log_buf_len=16M consoleblank=0 \ -#clocksource=tsc tsc=reliable x2apic_phys processor.max_cstate=0 \ -#intel_idle.max_cstate=0 intel_pstate=disable mce=ignore_ce audit=0 \ -#isolcpus=nohz,domain,1 nohz_full=1 rcu_nocbs=1 nosoftlockup idle=poll \ -#irqaffinity=0 - -# offline SOS CPUs except BSP before launch UOS -for i in `ls -d /sys/devices/system/cpu/cpu[1-99]`; do - online=`cat $i/online` - idx=`echo $i | tr -cd "[1-99]"` - echo cpu$idx online=$online - if [ "$online" = "1" ]; then - echo 0 > $i/online - echo $idx > /sys/devices/virtual/misc/acrn_hsm/remove_cpu - fi -done - -launch_hard_rt_vm diff --git a/misc/config_tools/data/sample_launch_scripts/nuc/launch_uos.sh b/misc/config_tools/data/sample_launch_scripts/nuc/launch_uos.sh deleted file mode 100755 index 93958a503..000000000 --- a/misc/config_tools/data/sample_launch_scripts/nuc/launch_uos.sh +++ /dev/null @@ -1,139 +0,0 @@ -#!/bin/bash -# Copyright (C) 2019-2022 Intel Corporation. -# SPDX-License-Identifier: BSD-3-Clause - -function run_container() -{ -vm_name=vm1 -config_src="/usr/share/acrn/samples/nuc/runC.json" -shell="/usr/share/acrn/conf/add/$vm_name.sh" -arg_file="/usr/share/acrn/conf/add/$vm_name.args" -runc_bundle="/usr/share/acrn/conf/add/runc/$vm_name" -rootfs_dir="/usr/share/acrn/conf/add/runc/rootfs" -config_dst="$runc_bundle/config.json" - - -input=$(runc list -f table | awk '{print $1}''{print $3}') -arr=(${input// / }) - -for((i=0;i<${#arr[@]};i++)) -do - if [ "$vm_name" = "${arr[$i]}" ]; then - if [ "running" = "${arr[$i+1]}" ]; then - echo "runC instance ${arr[$i]} is running" - exit - else - runc kill ${arr[$i]} - runc delete ${arr[$i]} - fi - fi -done -vmsts=$(acrnctl list) -vms=(${vmsts// / }) -for((i=0;i<${#vms[@]};i++)) -do - if [ "$vm_name" = "${vms[$i]}" ]; then - if [ "stopped" != "${vms[$i+1]}" ]; then - echo "Uos ${vms[$i]} ${vms[$i+1]}" - acrnctl stop ${vms[$i]} - fi - fi -done - - -if [ ! -f "$shell" ]; then - echo "Pls add the vm at first!" - exit -fi - -if [ ! -f "$arg_file" ]; then - echo "Pls add the vm args!" - exit -fi - - -if [ ! -d "$rootfs_dir" ]; then - mkdir -p "$rootfs_dir" -fi -if [ ! -d "$runc_bundle" ]; then - mkdir -p "$runc_bundle" -fi -if [ ! -f "$config_dst" ]; then - cp "$config_src" "$config_dst" - args=$(sed '{s/-C//g;s/^[ \t]*//g;s/^/\"/;s/ /\",\"/g;s/$/\"/}' ${arg_file}) - sed -i "s|\"sh\"|\"$shell\", $args|" $config_dst -fi -runc run --bundle $runc_bundle -d $vm_name -echo "The runC container is running in backgroud" -echo "'#runc exec bash' to login the container bash" -exit -} - -function launch_clear() -{ -mac=$(cat /sys/class/net/e*/address) -vm_name=vm$1 -mac_seed=${mac:9:8}-${vm_name} - -#check if the vm is running or not -vm_ps=$(pgrep -a -f acrn-dm) -result=$(echo $vm_ps | grep -w "${vm_name}") -if [[ "$result" != "" ]]; then - echo "$vm_name is running, can't create twice!" - exit -fi - -#logger_setting, format: logger_name,level; like following -logger_setting="--logger_setting console,level=4;kmsg,level=3;disk,level=5" - - -#for memsize setting -mem_size=2048M - -acrn-dm -A -m $mem_size -s 0:0,hostbridge \ - -s 2,pci-gvt -G "$2" \ - -s 5,virtio-console,@stdio:stdio_port \ - -s 6,virtio-hyper_dmabuf \ - -s 3,virtio-blk,/home/clear/uos/uos.img \ - -s 4,virtio-net,tap0 \ - -s 7,virtio-rnd \ - --ovmf /usr/share/acrn/bios/OVMF.fd \ - $logger_setting \ - --mac_seed $mac_seed \ - $vm_name -} - -#add following cmdline to grub.cfg and update kernel -#when launching LaaG by OVMF -#rw rootwait maxcpus=1 nohpet console=tty0 console=hvc0 -#console=ttyS0 no_timer_check ignore_loglevel -#log_buf_len=16M consoleblank=0 -#tsc=reliable i915.avail_planes_per_pipe="64 448 8" -#i915.enable_hangcheck=0 i915.nuclear_pageflip=1 -#i915.enable_guc_loading=0 -#i915.enable_guc_submission=0 i915.enable_guc=0 - -# offline SOS CPUs except BSP before launch UOS -for i in `ls -d /sys/devices/system/cpu/cpu[1-99]`; do - online=`cat $i/online` - idx=`echo $i | tr -cd "[1-99]"` - echo cpu$idx online=$online - if [ "$online" = "1" ]; then - echo 0 > $i/online - # during boot time, cpu hotplug may be disabled by pci_device_probe during a pci module insmod - while [ "$online" = "1" ]; do - sleep 1 - echo 0 > $i/online - online=`cat $i/online` - done - echo $idx > /sys/devices/virtual/misc/acrn_hsm/remove_cpu - fi -done - - -if [ "$1" = "-C" ];then - echo "runc_container" - run_container -else - launch_clear 1 "64 448 8" 0x070F00 -fi diff --git a/misc/config_tools/data/sample_launch_scripts/nuc/launch_vxworks.sh b/misc/config_tools/data/sample_launch_scripts/nuc/launch_vxworks.sh deleted file mode 100755 index 82117d3b4..000000000 --- a/misc/config_tools/data/sample_launch_scripts/nuc/launch_vxworks.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash -# Copyright (C) 2019-2022 Intel Corporation. -# SPDX-License-Identifier: BSD-3-Clause - -function launch_vxworks() -{ -vm_name=vxworks_vm$1 - -#check if the vm is running or not -vm_ps=$(pgrep -a -f acrn-dm) -result=$(echo $vm_ps | grep -w "${vm_name}") -if [[ "$result" != "" ]]; then - echo "$vm_name is running, can't create twice!" - exit -fi - -#for memsize setting -mem_size=2048M - -# Note: -# Here we just launch VxWorks as a normal vm without lapic pt. If you want try it -# with lapic pt, you should add the following options and make sure the front-end virtio-console -# driver use polling mode (This feature is not supported by VxWorks offically now and should -# be implemented it by youself). -# -# --lapic_pt \ -# --virtio_poll 1000000 \ -# -U $rtvm_uuid \ -# -# Once the front-end polling mode virtio-console get supported by VxWorks offically, we will -# set the lapic_pt option as default. -acrn-dm -A -m $mem_size -s 0:0,hostbridge \ - -s 5,virtio-console,@stdio:stdio_port \ - -s 3,virtio-blk,./VxWorks.img \ - --ovmf /usr/share/acrn/bios/OVMF.fd \ - $vm_name -} - -# offline SOS CPUs except BSP before launch UOS -for i in `ls -d /sys/devices/system/cpu/cpu[1-99]`; do - online=`cat $i/online` - idx=`echo $i | tr -cd "[1-99]"` - echo cpu$idx online=$online - if [ "$online" = "1" ]; then - echo 0 > $i/online - # during boot time, cpu hotplug may be disabled by pci_device_probe during a pci module insmod - while [ "$online" = "1" ]; do - sleep 1 - echo 0 > $i/online - online=`cat $i/online` - done - echo $idx > /sys/devices/virtual/misc/acrn_hsm/remove_cpu - fi -done - -launch_vxworks 1 diff --git a/misc/config_tools/data/sample_launch_scripts/nuc/launch_win.sh b/misc/config_tools/data/sample_launch_scripts/nuc/launch_win.sh deleted file mode 100755 index 2f255d792..000000000 --- a/misc/config_tools/data/sample_launch_scripts/nuc/launch_win.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/bin/bash -# board: WHL-IPC-I5, scenario: INDUSTRY, uos: WINDOWS -# pci devices for passthru -declare -A passthru_vpid -declare -A passthru_bdf - -passthru_vpid=( -["audio"]="8086 9dc8" -["gpu"]="8086 3ea0" -) -passthru_bdf=( -["audio"]="0000:00:1f.3" -["gpu"]="0000:00:02.0" -) - -function tap_net() { -# create a unique tap device for each VM -tap=$1 -tap_exist=$(ip a | grep "$tap" | awk '{print $1}') -if [ "$tap_exist"x != "x" ]; then - echo "tap device existed, reuse $tap" -else - ip tuntap add dev $tap mode tap -fi - -# if acrn-br0 exists, add VM's unique tap device under it -br_exist=$(ip a | grep acrn-br0 | awk '{print $1}') -if [ "$br_exist"x != "x" -a "$tap_exist"x = "x" ]; then - echo "acrn-br0 bridge aleady exists, adding new tap device to it..." - ip link set "$tap" master acrn-br0 - ip link set dev "$tap" down - ip link set dev "$tap" up -fi -} - -function launch_windows() -{ -#vm-name used to generate uos-mac address -mac=$(cat /sys/class/net/e*/address) -vm_name=post_vm_id$1 -mac_seed=${mac:0:17}-${vm_name} - -tap_net tap_WaaG -#check if the vm is running or not -vm_ps=$(pgrep -a -f acrn-dm) -result=$(echo $vm_ps | grep -w "${vm_name}") -if [[ "$result" != "" ]]; then - echo "$vm_name is running, can't create twice!" - exit -fi - -echo ${passthru_vpid["gpu"]} > /sys/bus/pci/drivers/pci-stub/new_id -echo ${passthru_bdf["gpu"]} > /sys/bus/pci/devices/${passthru_bdf["gpu"]}/driver/unbind -echo ${passthru_bdf["gpu"]} > /sys/bus/pci/drivers/pci-stub/bind -modprobe pci_stub -kernel_version=$(uname -r) -audio_module="/usr/lib/modules/$kernel_version/kernel/sound/soc/intel/boards/snd-soc-sst_bxt_sos_tdf8532.ko" - -# use the modprobe to force loading snd-soc-skl/sst_bxt_bdf8532 -if [ ! -e $audio_module ]; then -modprobe -q snd-soc-skl -modprobe -q snd-soc-sst_bxt_tdf8532 -else - -modprobe -q snd_soc_skl -modprobe -q snd_soc_tdf8532 -modprobe -q snd_soc_sst_bxt_sos_tdf8532 -modprobe -q snd_soc_skl_virtio_be -fi -audio_passthrough=0 - -# Check the device file of /dev/vbs_k_audio to determine the audio mode -if [ ! -e "/dev/vbs_k_audio" ]; then -audio_passthrough=1 -fi -boot_audio_option="" -if [ $audio_passthrough == 1 ]; then - # for audio device - echo ${passthru_vpid["audio"]} > /sys/bus/pci/drivers/pci-stub/new_id - echo ${passthru_bdf["audio"]} > /sys/bus/pci/devices/${passthru_bdf["audio"]}/driver/unbind - echo ${passthru_bdf["audio"]} > /sys/bus/pci/drivers/pci-stub/bind - - boot_audio_option="-s 5,passthru,00/1f/3" -else - boot_audio_option="-s 5,virtio-audio" -fi -mem_size=4096M -#interrupt storm monitor for pass-through devices, params order: -#threshold/s,probe-period(s),intr-inject-delay-time(ms),delay-duration(ms) -intr_storm_monitor="--intr_monitor 10000,10,1,100" - -#logger_setting, format: logger_name,level; like following -logger_setting="--logger_setting console,level=4;kmsg,level=3;disk,level=5" - -acrn-dm -A -m $mem_size -s 0:0,hostbridge -U d2795438-25d6-11e8-864e-cb7a18b34643 \ - --windows \ - $logger_setting \ - -s 6,virtio-blk,./win10-ltsc.img \ - -s 7,virtio-net,tap_WaaG \ - -s 2,passthru,0/2/0 \ - --ovmf /usr/share/acrn/bios/OVMF.fd \ - $intr_storm_monitor \ - -s 31:0,lpc \ - -l com1,stdio \ - $boot_audio_option \ - $vm_name -} -launch_windows 1 - diff --git a/misc/config_tools/data/sample_launch_scripts/nuc/launch_xenomai.sh b/misc/config_tools/data/sample_launch_scripts/nuc/launch_xenomai.sh deleted file mode 100755 index 710d2163c..000000000 --- a/misc/config_tools/data/sample_launch_scripts/nuc/launch_xenomai.sh +++ /dev/null @@ -1,227 +0,0 @@ -#!/bin/bash -# Copyright (C) 2020-2022 Intel Corporation. -# SPDX-License-Identifier: BSD-3-Clause - -# set -x - -usage() -{ - echo "$0 [-b disk | -f img] [-k kernel.tar.gz] {-n ethernet} {-B mem_size} {-r}" - echo " example:" - echo " $0 -b /dev/sdb3 -k ~/linux-4.19.tar.gz -n eth0" - echo " $0 -f clearlinux.img -k ../linux-5.2.tar -n eth0 -B 512M" - echo " $0 -f clearlinux.img -k ../linux-5.2.tar -n eth0 -r # restore passthroughed eth0 when script returns" - exit -} - -function get_bdf() -{ - IFS=/ - for dir in $1; do - case $dir in 0000:??:??.?) - bdf=$dir;; - esac - done - - unset IFS - echo $bdf -} - -modprobe pci_stub -# pci devices for passthru -dev_opts= -declare -A passthru_devs -guest_pci_nr=2 - -function passthru_pci_devs() -{ - for dev in "${passthrus[@]}" - do - dev_info=$(find /sys/devices/pci* -name $(basename $dev)) - dev_bdf=$(get_bdf $dev_info) - dev_path=$(echo $dev_info | sed "s/$dev_bdf\(.*\)//g")$dev_bdf - dev_vendor_id=$(cat $dev_path/vendor | sed 's/0x//g') - dev_device_id=$(cat $dev_path/device | sed 's/0x//g') - dev_bus=$(echo ${dev_bdf#0000:}|sed "s/:.*//g") - dev_dev=$(echo $dev_bdf|sed "s/.*://g"|sed "s/\..*//g") - dev_fun=$(echo $dev_bdf|sed "s/.*\.//g") - dev_drv=$(lspci -k -s $dev_bdf | grep "Kernel driver in use"|sed "s/.*: //g") - dev_passthru_opt="-s $guest_pci_nr,passthru,$dev_bus/$dev_dev/$dev_fun" - - echo "passthrough a pci device:" - echo dev_info:$dev_info - echo dev_path:$dev_path - echo dev_vendor_id:$dev_vendor_id - echo dev_device_id:$dev_device_id - echo dev_bus:$dev_bus - echo dev_dev:$dev_dev - echo dev_fun:$dev_fun - echo dev_drv:$dev_drv - echo dev_passthru_opt:$dev_passthru_opt - - # replace its driver with pci-stub - echo "$dev_vendor_id $dev_device_id" > /sys/bus/pci/drivers/pci-stub/new_id - echo $dev_bdf > $dev_path/driver/unbind - echo $dev_bdf > /sys/bus/pci/drivers/pci-stub/bind - - # add to global options - dev_opts="$dev_opts $dev_passthru_opt" - - # register for de-passthrough later - passthru_devs[$dev_bdf]=$dev_drv - - # increase virtual pci slot number - guest_pci_nr=$(expr $guest_pci_nr + 1) - done -} - -function de_passthru_pci_devs() -{ - for dev_bdf in "${!passthru_devs[@]}" - do - echo $dev_bdf > /sys/bus/pci/drivers/pci-stub/unbind - echo $dev_bdf > /sys/bus/pci/drivers/${passthru_devs[$dev_bdf]}/bind - done -} - -mem_size=1024M -eth= -disk= -img= -kernel= -passthrus=() -while getopts hn:b:f:k:B:r opt -do - case "${opt}" in - h) - usage; - ;; - r) - # restore pci device driver on exit - trap de_passthru_pci_devs EXIT - ;; - n) - eth=${OPTARG} - passthrus+=($eth) - ;; - b) - disk="${OPTARG}" - passthrus+=($disk) - ;; - f) - img="${OPTARG}" - ;; - k) - kernel="${OPTARG}" - ;; - B) - mem_size="${OPTARG}" - ;; - ?) - echo "{OPTARG}" - ;; - esac -done - -if [[ ( -z "${kernel}") || (( -z "${disk}") && ( -z "${img}" )) ]]; then - usage; exit 1 -fi - -# create a unique tap device for each VM -if [ -z $eth ];then - tap=tap_rtvm - tap_exist=$(ip a | grep "$tap" | awk '{print $1}') - if [ "$tap_exist"x != "x" ]; then - echo "tap device existed, reuse $tap" - else - ip tuntap add dev $tap mode tap - ip link set "$tap" master acrn-br0 - ip link set dev "$tap" down - ip link set dev "$tap" up - fi - - dev_opts="$dev_opts -s $guest_pci_nr,virtio-net,$tap" - guest_pci_nr=$(expr $guest_pci_nr + 1) -fi - -function launch_hard_rt_vm() -{ -mkdir -p /mnt -if [ ! -z $img ]; then - # mount virtual disk (assuming the last partition is root) - vdisk=$(losetup -f -P --show $img) - vdisk_root=$(ls -1 ${vdisk}p* | tail -1) - mount $vdisk_root /mnt - - # extract the kernel and install kernel modules - bzImage=/mnt/$(tar xzvf $kernel -C /mnt --dereference --exclude=vmlinux* | grep vmlinuz) - cp $bzImage /tmp/bzImage.xenomai - - # umount disk - umount /mnt - losetup -d $vdisk - - # find appropriate root partition information - disk_part_nr=$(basename $vdisk_root| sed 's/.*p\([0-9]$\)/\1/') - vdisk=/dev/vda$disk_part_nr - - dev_opts="$dev_opts -s $guest_pci_nr,virtio-blk,$img" - guest_pci_nr=$(expr $guest_pci_nr + 1) -elif [ ! -z $disk ];then - # mount the physical disk - mount $disk /mnt - - # extract the kernel and install kernel modules - bzImage=/mnt/$(tar xzvf $kernel -C /mnt --dereference --exclude=vmlinux* | grep vmlinuz) - cp $bzImage /tmp/bzImage.xenomai - - # umount disk - umount /mnt - - # detect partition information - disk_part_nr=$(basename $disk| sed 's/.*\([0-9]$\)/\1/') - if [[ $disk =~ "nvme" ]]; then - vdisk=/dev/nvme0n1p$disk_part_nr - else - vdisk=/dev/sda$disk_part_nr - fi -fi - -passthru_pci_devs - -#logger_setting, format: logger_name,level; like following -logger_setting="--logger_setting console,level=4;kmsg,level=3;disk,level=5" - -/usr/bin/acrn-dm -A -m $mem_size -s 0:0,hostbridge \ --k /tmp/bzImage.xenomai \ --U 495ae2e5-2603-4d64-af76-d4bc5a8ec0e5 \ ---lapic_pt \ ---rtvm \ ---virtio_poll 1000000 \ --s 1,virtio-console,@stdio:stdio_port \ -$dev_opts \ -$logger_setting \ --B "root=$vdisk rw rootwait nohpet console=hvc0 consoleblank=0 \ -no_timer_check ignore_loglevel log_buf_len=16M nmi_watchdog=0 nosoftlockup \ -processor.max_cstate=0 intel_idle.max_cstate=0 intel_pstate=disable idle=poll \ -rcu_nocb_poll isolcpus=1 nohz_full=1 rcu_nocbs=1 \ -tsc=reliable x2apic_phys xenomai.supported_cpus=2 irqaffinity=0 mce=off" hard_rtvm -} - -# offline SOS CPUs except BSP before launch UOS -for i in `ls -d /sys/devices/system/cpu/cpu[1-99]`; do - online=`cat $i/online` - idx=`echo $i | tr -cd "[1-99]"` - echo cpu$idx online=$online - if [ "$online" = "1" ]; then - echo 0 > $i/online - echo $idx > /sys/devices/virtual/misc/acrn_hsm/remove_cpu - fi -done - -echo 3 > /sys/kernel/debug/dri/0/i915_cache_sharing -echo 300 > /sys/class/drm/card0/gt_max_freq_mhz -echo 300 > /sys/class/drm/card0/gt_min_freq_mhz -echo 300 > /sys/class/drm/card0/gt_boost_freq_mhz - -launch_hard_rt_vm diff --git a/misc/config_tools/data/sample_launch_scripts/nuc/launch_zephyr.sh b/misc/config_tools/data/sample_launch_scripts/nuc/launch_zephyr.sh deleted file mode 100755 index 45f863dc9..000000000 --- a/misc/config_tools/data/sample_launch_scripts/nuc/launch_zephyr.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -# Copyright (C) 2019-2022 Intel Corporation. -# SPDX-License-Identifier: BSD-3-Clause - -function launch_zephyr() -{ -vm_name=zephyr_vm$1 - -#check if the vm is running or not -vm_ps=$(pgrep -a -f acrn-dm) -result=$(echo $vm_ps | grep -w "${vm_name}") -if [[ "$result" != "" ]]; then - echo "$vm_name is running, can't create twice!" - exit -fi - -#for memsize setting -mem_size=128M - -acrn-dm -A -m $mem_size -s 0:0,hostbridge -s 1:0,lpc -l com1,stdio \ - -s 5,virtio-console,@pty:pty_port \ - -s 3,virtio-blk,./zephyr.img \ - --ovmf /usr/share/acrn/bios/OVMF.fd \ - $vm_name -} - -# offline SOS CPUs except BSP before launch UOS -for i in `ls -d /sys/devices/system/cpu/cpu[1-99]`; do - online=`cat $i/online` - idx=`echo $i | tr -cd "[1-99]"` - echo cpu$idx online=$online - if [ "$online" = "1" ]; then - echo 0 > $i/online - # during boot time, cpu hotplug may be disabled by pci_device_probe during a pci module insmod - while [ "$online" = "1" ]; do - sleep 1 - echo 0 > $i/online - online=`cat $i/online` - done - echo $idx > /sys/devices/virtual/misc/acrn_hsm/remove_cpu - fi -done - -launch_zephyr 1 diff --git a/misc/config_tools/data/sample_launch_scripts/nuc/runC.json b/misc/config_tools/data/sample_launch_scripts/nuc/runC.json deleted file mode 100644 index c68d401b3..000000000 --- a/misc/config_tools/data/sample_launch_scripts/nuc/runC.json +++ /dev/null @@ -1,274 +0,0 @@ -{ - "ociVersion": "1.0.1-dev", - "process": { - "terminal": false, - "user": { - "uid": 0, - "gid": 0 - }, - "args": [ - "sh" - ], - "env": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", - "TERM=xterm" - ], - "cwd": "/", - "capabilities": { - "bounding": [ - "CAP_AUDIT_WRITE", - "CAP_CHOWN", - "CAP_DAC_OVERRIDE", - "CAP_DAC_READ_SEARCH", - "CAP_FOWNER", - "CAP_FSETID", - "CAP_KILL", - "CAP_SETGID", - "CAP_SETUID", - "CAP_SETPCAP", - "CAP_LINUX_IMMUTABLE", - "CAP_NET_BIND_SERVICE", - "CAP_NET_BROADCAST", - "CAP_NET_ADMIN", - "CAP_NET_RAW", - "CAP_IPC_LOCK", - "CAP_IPC_OWNER", - "CAP_SYS_MODULE", - "CAP_SYS_RAWIO", - "CAP_SYS_CHROOT", - "CAP_SYS_PTRACE", - "CAP_SYS_PACCT", - "CAP_SYS_ADMIN", - "CAP_SYS_BOOT", - "CAP_SYS_NICE", - "CAP_SYS_RESOURCE", - "CAP_SYS_TIME", - "CAP_SYS_TTY_CONFIG", - "CAP_MKNOD", - "CAP_LEASE", - "CAP_AUDIT_WRITE", - "CAP_AUDIT_CONTROL", - "CAP_SETFCAP", - "CAP_MAC_OVERRIDE", - "CAP_MAC_ADMIN", - "CAP_SYSLOG", - "CAP_WAKE_ALARM", - "CAP_BLOCK_SUSPEND", - "CAP_AUDIT_READ" - - ], - "effective": [ - "CAP_AUDIT_WRITE", - "CAP_CHOWN", - "CAP_DAC_OVERRIDE", - "CAP_DAC_READ_SEARCH", - "CAP_FOWNER", - "CAP_FSETID", - "CAP_KILL", - "CAP_SETGID", - "CAP_SETUID", - "CAP_SETPCAP", - "CAP_LINUX_IMMUTABLE", - "CAP_NET_BIND_SERVICE", - "CAP_NET_BROADCAST", - "CAP_NET_ADMIN", - "CAP_NET_RAW", - "CAP_IPC_LOCK", - "CAP_IPC_OWNER", - "CAP_SYS_MODULE", - "CAP_SYS_RAWIO", - "CAP_SYS_CHROOT", - "CAP_SYS_PTRACE", - "CAP_SYS_PACCT", - "CAP_SYS_ADMIN", - "CAP_SYS_BOOT", - "CAP_SYS_NICE", - "CAP_SYS_RESOURCE", - "CAP_SYS_TIME", - "CAP_SYS_TTY_CONFIG", - "CAP_MKNOD", - "CAP_LEASE", - "CAP_AUDIT_WRITE", - "CAP_AUDIT_CONTROL", - "CAP_SETFCAP", - "CAP_MAC_OVERRIDE", - "CAP_MAC_ADMIN", - "CAP_SYSLOG", - "CAP_WAKE_ALARM", - "CAP_BLOCK_SUSPEND", - "CAP_AUDIT_READ" - ], - "inheritable": [ - "CAP_AUDIT_WRITE", - "CAP_CHOWN", - "CAP_DAC_OVERRIDE", - "CAP_DAC_READ_SEARCH", - "CAP_FOWNER", - "CAP_FSETID", - "CAP_KILL", - "CAP_SETGID", - "CAP_SETUID", - "CAP_SETPCAP", - "CAP_LINUX_IMMUTABLE", - "CAP_NET_BIND_SERVICE", - "CAP_NET_BROADCAST", - "CAP_NET_ADMIN", - "CAP_NET_RAW", - "CAP_IPC_LOCK", - "CAP_IPC_OWNER", - "CAP_SYS_MODULE", - "CAP_SYS_RAWIO", - "CAP_SYS_CHROOT", - "CAP_SYS_PTRACE", - "CAP_SYS_PACCT", - "CAP_SYS_ADMIN", - "CAP_SYS_BOOT", - "CAP_SYS_NICE", - "CAP_SYS_RESOURCE", - "CAP_SYS_TIME", - "CAP_SYS_TTY_CONFIG", - "CAP_MKNOD", - "CAP_LEASE", - "CAP_AUDIT_WRITE", - "CAP_AUDIT_CONTROL", - "CAP_SETFCAP", - "CAP_MAC_OVERRIDE", - "CAP_MAC_ADMIN", - "CAP_SYSLOG", - "CAP_WAKE_ALARM", - "CAP_BLOCK_SUSPEND", - "CAP_AUDIT_READ" - ], - "permitted": [ - "CAP_AUDIT_WRITE", - "CAP_CHOWN", - "CAP_DAC_OVERRIDE", - "CAP_DAC_READ_SEARCH", - "CAP_FOWNER", - "CAP_FSETID", - "CAP_KILL", - "CAP_SETGID", - "CAP_SETUID", - "CAP_SETPCAP", - "CAP_LINUX_IMMUTABLE", - "CAP_NET_BIND_SERVICE", - "CAP_NET_BROADCAST", - "CAP_NET_ADMIN", - "CAP_NET_RAW", - "CAP_IPC_LOCK", - "CAP_IPC_OWNER", - "CAP_SYS_MODULE", - "CAP_SYS_RAWIO", - "CAP_SYS_CHROOT", - "CAP_SYS_PTRACE", - "CAP_SYS_PACCT", - "CAP_SYS_ADMIN", - "CAP_SYS_BOOT", - "CAP_SYS_NICE", - "CAP_SYS_RESOURCE", - "CAP_SYS_TIME", - "CAP_SYS_TTY_CONFIG", - "CAP_MKNOD", - "CAP_LEASE", - "CAP_AUDIT_WRITE", - "CAP_AUDIT_CONTROL", - "CAP_SETFCAP", - "CAP_MAC_OVERRIDE", - "CAP_MAC_ADMIN", - "CAP_SYSLOG", - "CAP_WAKE_ALARM", - "CAP_BLOCK_SUSPEND", - "CAP_AUDIT_READ" - ], - "ambient": [ - "CAP_AUDIT_WRITE", - "CAP_CHOWN", - "CAP_DAC_OVERRIDE", - "CAP_DAC_READ_SEARCH", - "CAP_FOWNER", - "CAP_FSETID", - "CAP_KILL", - "CAP_SETGID", - "CAP_SETUID", - "CAP_SETPCAP", - "CAP_LINUX_IMMUTABLE", - "CAP_NET_BIND_SERVICE", - "CAP_NET_BROADCAST", - "CAP_NET_ADMIN", - "CAP_NET_RAW", - "CAP_IPC_LOCK", - "CAP_IPC_OWNER", - "CAP_SYS_MODULE", - "CAP_SYS_RAWIO", - "CAP_SYS_CHROOT", - "CAP_SYS_PTRACE", - "CAP_SYS_PACCT", - "CAP_SYS_ADMIN", - "CAP_SYS_BOOT", - "CAP_SYS_NICE", - "CAP_SYS_RESOURCE", - "CAP_SYS_TIME", - "CAP_SYS_TTY_CONFIG", - "CAP_MKNOD", - "CAP_LEASE", - "CAP_AUDIT_WRITE", - "CAP_AUDIT_CONTROL", - "CAP_SETFCAP", - "CAP_MAC_OVERRIDE", - "CAP_MAC_ADMIN", - "CAP_SYSLOG", - "CAP_WAKE_ALARM", - "CAP_BLOCK_SUSPEND", - "CAP_AUDIT_READ" - ] - } - }, - "root": { - "path": "../rootfs", - "readonly": false - }, - "hostname": "runc", - "mounts": [ - { - "destination": "/", - "type": "none", - "source": "/", - "options": ["rbind","rw"] - } - ], - "linux": { - "resources": { - "devices": [ - { - "allow": true, - "access": "rwm" - } - ] - }, - "uidMappings": [ - { - "hostID": 0, - "containerID": 0, - "size": 1 - } - ], - "gidMappings": [ - { - "hostID": 0, - "containerID": 0, - "size": 1 - } - ], - "namespaces": [ - { - "type": "pid" - }, - { - "type": "uts" - }, - { - "type": "mount" - } - ] - } -}