Matt DeVillier has submitted this change. ( https://review.coreboot.org/c/coreboot/+/86247?usp=email )
Change subject: intel/acpi: Put BSP as the first entry
......................................................................
intel/acpi: Put BSP as the first entry
Linux complains in dmesg as a firmware bug that BSP is not the first
entry.
NetBSD hangs and OpenBSD panics early on boot.
With this patch I was able to boot NetBSD and OpenBSD on darp10-b when
loaded in GRUB.
Note: vanilla bootloaders for NetBSD and OpenBSD still result in an
apparent hang for an unknown reason.
Change-Id: I520a2e080c9f07a5866729ae2283990d20c0d691
Signed-off-by: Vladimir Serbinenko <phcoder(a)gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/86247
Tested-by: build bot (Jenkins) <no-reply(a)coreboot.org>
Reviewed-by: Sean Rhodes <sean(a)starlabs.systems>
Reviewed-by: Jérémy Compostella <jeremy.compostella(a)intel.com>
---
M src/soc/intel/common/block/acpi/cpu_hybrid.c
1 file changed, 29 insertions(+), 12 deletions(-)
Approvals:
build bot (Jenkins): Verified
Jérémy Compostella: Looks good to me, approved
Sean Rhodes: Looks good to me, but someone else must approve
diff --git a/src/soc/intel/common/block/acpi/cpu_hybrid.c b/src/soc/intel/common/block/acpi/cpu_hybrid.c
index ee4777a..0e7ec53 100644
--- a/src/soc/intel/common/block/acpi/cpu_hybrid.c
+++ b/src/soc/intel/common/block/acpi/cpu_hybrid.c
@@ -18,8 +18,8 @@
struct cpu_apic_info_type {
/*
* Ordered APIC IDs based on core type.
- * Array begins with Performance Cores' APIC IDs,
- * then followed by Efficeint Cores's APIC IDs.
+ * Array begins with BSP, then come all Performance Cores' APIC IDs,
+ * then followed by Efficient Cores's APIC IDs.
*/
int32_t apic_ids[CONFIG_MAX_CPUS];
@@ -27,11 +27,15 @@
uint16_t total_cpu_cnt;
/*
- * Total Performance core count. This will be used
- * to identify the start of Efficient Cores's
+ * This will be used to identify the start of Efficient Cores's
* APIC ID list
*/
- uint16_t perf_cpu_cnt;
+ uint16_t eff_cores_start;
+
+ /*
+ * Set to true if bsp is a performance core
+ */
+ bool is_bsp_perf;
};
static struct cpu_apic_info_type cpu_apic_info;
@@ -48,12 +52,25 @@
int32_t eff_apic_ids[CONFIG_MAX_CPUS] = {0};
extern struct cpu_info cpu_infos[];
uint32_t i, j = 0;
+ u32 bsp_lapicid = lapicid();
+
+ /* As per spec first comes BSP.
+ See 5.2.12.1 MADT Processor Local APIC / SAPIC Structure Entry Order
+ " platform firmware should list the boot processor as the first
+ processor entry in the MADT. "
+ */
+ cpu_apic_info.apic_ids[0] = bsp_lapicid;
for (i = 0; i < ARRAY_SIZE(cpu_apic_info.apic_ids); i++) {
if (!cpu_infos[i].cpu)
continue;
+ if (cpu_infos[i].cpu->path.apic.apic_id == bsp_lapicid) {
+ cpu_apic_info.is_bsp_perf =
+ cpu_infos[i].cpu->path.apic.core_type == CPU_TYPE_PERF;
+ continue;
+ }
if (cpu_infos[i].cpu->path.apic.core_type == CPU_TYPE_PERF)
- cpu_apic_info.apic_ids[perf_core_cnt++] =
+ cpu_apic_info.apic_ids[1 + perf_core_cnt++] =
cpu_infos[i].cpu->path.apic.apic_id;
else
eff_apic_ids[eff_core_cnt++] =
@@ -61,18 +78,18 @@
}
if (perf_core_cnt > 1)
- bubblesort(cpu_apic_info.apic_ids, perf_core_cnt, NUM_ASCENDING);
+ bubblesort(cpu_apic_info.apic_ids + 1, perf_core_cnt, NUM_ASCENDING);
- for (i = perf_core_cnt; j < eff_core_cnt; i++, j++)
+ for (i = perf_core_cnt + 1; j < eff_core_cnt; i++, j++)
cpu_apic_info.apic_ids[i] = eff_apic_ids[j];
if (eff_core_cnt > 1)
- bubblesort(&cpu_apic_info.apic_ids[perf_core_cnt], eff_core_cnt, NUM_ASCENDING);
+ bubblesort(&cpu_apic_info.apic_ids[perf_core_cnt + 1], eff_core_cnt, NUM_ASCENDING);
/* Populate total core count */
- cpu_apic_info.total_cpu_cnt = perf_core_cnt + eff_core_cnt;
+ cpu_apic_info.total_cpu_cnt = perf_core_cnt + eff_core_cnt + 1;
- cpu_apic_info.perf_cpu_cnt = perf_core_cnt;
+ cpu_apic_info.eff_cores_start = perf_core_cnt + 1;
}
static unsigned long acpi_create_madt_lapics_hybrid(unsigned long current)
@@ -132,7 +149,7 @@
acpi_get_cpu_nomi_perf(&eff_core_nom_perf, &perf_core_nom_perf);
- if (core_id < cpu_apic_info.perf_cpu_cnt)
+ if (core_id == 0 ? cpu_apic_info.is_bsp_perf : (core_id < cpu_apic_info.eff_cores_start))
acpigen_set_package_element_int(pkg_path, CPPC_NOM_PERF_IDX, perf_core_nom_perf);
else
acpigen_set_package_element_int(pkg_path, CPPC_NOM_PERF_IDX,
--
To view, visit https://review.coreboot.org/c/coreboot/+/86247?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I520a2e080c9f07a5866729ae2283990d20c0d691
Gerrit-Change-Number: 86247
Gerrit-PatchSet: 7
Gerrit-Owner: Vladimir Serbinenko <phcoder(a)gmail.com>
Gerrit-Reviewer: Intel coreboot Reviewers <intel_coreboot_reviewers(a)intel.com>
Gerrit-Reviewer: Jérémy Compostella <jeremy.compostella(a)intel.com>
Gerrit-Reviewer: Matt DeVillier <matt.devillier(a)gmail.com>
Gerrit-Reviewer: Sean Rhodes <sean(a)starlabs.systems>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Jeremy Soller <jeremy(a)system76.com>
Gerrit-CC: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-CC: Paul Menzel <paulepanter(a)mailbox.org>
Gerrit-CC: Tim Crawford <tcrawford(a)system76.com>
Attention is currently required from: Dinesh Gehlot, Eran Mitrani, Intel coreboot Reviewers, Jakub "Kuba" Czapiga, Kapil Porwal, Matt DeVillier, Subrata Banik, Tarun.
Hello Dinesh Gehlot, Eran Mitrani, Intel coreboot Reviewers, Jakub "Kuba" Czapiga, Kapil Porwal, Sean Rhodes, Subrata Banik, Tarun, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/86319?usp=email
to look at the new patch set (#2).
Change subject: soc/intel/meteorlake: Add missing USB port definitions
......................................................................
soc/intel/meteorlake: Add missing USB port definitions
The TCSS_XHCI controller has a single USB2 port followed by 4 USB3
ports; the XHCI controller has 12 USB2 ports followed by 2 USB3
ports. The topology was queried from the root hub on each controller
and returned via the descriptor.
Add the 2 missing USB2 ports to the XHCI controller and the one to
the TSS_XHCI controller.
TEST=build/boot Win11, Linux 6.x on starlabs/starbook_mtl.
Change-Id: I5dc97f150ff064d55e7969f10c1cea8ba72d6bfb
Signed-off-by: Matt DeVillier <matt.devillier(a)gmail.com>
---
M src/soc/intel/meteorlake/chipset.cb
1 file changed, 9 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/19/86319/2
--
To view, visit https://review.coreboot.org/c/coreboot/+/86319?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: I5dc97f150ff064d55e7969f10c1cea8ba72d6bfb
Gerrit-Change-Number: 86319
Gerrit-PatchSet: 2
Gerrit-Owner: Matt DeVillier <matt.devillier(a)gmail.com>
Gerrit-Reviewer: Dinesh Gehlot <digehlot(a)google.com>
Gerrit-Reviewer: Eran Mitrani <mitrani(a)google.com>
Gerrit-Reviewer: Intel coreboot Reviewers <intel_coreboot_reviewers(a)intel.com>
Gerrit-Reviewer: Jakub "Kuba" Czapiga <czapiga(a)google.com>
Gerrit-Reviewer: Kapil Porwal <kapilporwal(a)google.com>
Gerrit-Reviewer: Sean Rhodes <sean(a)starlabs.systems>
Gerrit-Reviewer: Subrata Banik <subratabanik(a)google.com>
Gerrit-Reviewer: Tarun <tstuli(a)gmail.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Jérémy Compostella <jeremy.compostella(a)intel.com>
Gerrit-Attention: Intel coreboot Reviewers <intel_coreboot_reviewers(a)intel.com>
Gerrit-Attention: Eran Mitrani <mitrani(a)google.com>
Gerrit-Attention: Subrata Banik <subratabanik(a)google.com>
Gerrit-Attention: Jakub "Kuba" Czapiga <czapiga(a)google.com>
Gerrit-Attention: Matt DeVillier <matt.devillier(a)gmail.com>
Gerrit-Attention: Kapil Porwal <kapilporwal(a)google.com>
Gerrit-Attention: Dinesh Gehlot <digehlot(a)google.com>
Gerrit-Attention: Tarun <tstuli(a)gmail.com>
Attention is currently required from: Karthik Ramasubramanian, Martin L Roth.
Dinesh Gehlot has posted comments on this change by Dinesh Gehlot. ( https://review.coreboot.org/c/coreboot/+/86153?usp=email )
Change subject: soc/intel/cmn/blk: Remove boot partition check for forced cse sync
......................................................................
Patch Set 10:
(1 comment)
File src/soc/intel/common/block/cse/cse_lite.c:
https://review.coreboot.org/c/coreboot/+/86153/comment/01af882c_dbba8ab7?us… :
PS4, Line 185: if (vboot_is_gbb_flag_set(VB2_GBB_FLAG_FORCE_CSE_SYNC)) {
> Please update this check to: […]
Thankyou, the linker issue is now resolved now with this.
--
To view, visit https://review.coreboot.org/c/coreboot/+/86153?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: If1e4180cb5fec3990fdee2b0e412173b1c8c6ded
Gerrit-Change-Number: 86153
Gerrit-PatchSet: 10
Gerrit-Owner: Dinesh Gehlot <digehlot(a)google.com>
Gerrit-Reviewer: Intel coreboot Reviewers <intel_coreboot_reviewers(a)intel.com>
Gerrit-Reviewer: Martin L Roth <gaumless(a)gmail.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Jérémy Compostella <jeremy.compostella(a)intel.com>
Gerrit-CC: Karthik Ramasubramanian <kramasub(a)google.com>
Gerrit-Attention: Martin L Roth <gaumless(a)gmail.com>
Gerrit-Attention: Karthik Ramasubramanian <kramasub(a)google.com>
Gerrit-Comment-Date: Fri, 07 Feb 2025 20:53:43 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Karthik Ramasubramanian <kramasub(a)google.com>
Attention is currently required from: Dinesh Gehlot, Intel coreboot Reviewers, Martin L Roth.
Hello Intel coreboot Reviewers, Martin L Roth, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/86153?usp=email
to look at the new patch set (#10).
The following approvals got outdated and were removed:
Verified-1 by build bot (Jenkins)
Change subject: soc/intel/cmn/blk: Remove boot partition check for forced cse sync
......................................................................
soc/intel/cmn/blk: Remove boot partition check for forced cse sync
This patch enhances the forced CSE sync mechanism by eliminating the
boot partition check for RO. It utilizes the current CSE mechanism to
determine if the system has undergone a cold boot.
Please note, this is a proof of concept to address forced CSE sync
constraint in the presence of a pre-CPU reset. The change is currently
WIP and the final implementation might vary.
BUG=b:380220737
TEST=Verified forced CSE sync on google/rex.
Change-Id: If1e4180cb5fec3990fdee2b0e412173b1c8c6ded
Signed-off-by: Dinesh Gehlot <digehlot(a)google.com>
---
M src/soc/intel/common/block/cse/cse_lite.c
M src/soc/intel/common/block/include/intelblocks/cse.h
2 files changed, 36 insertions(+), 8 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/53/86153/10
--
To view, visit https://review.coreboot.org/c/coreboot/+/86153?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: coreboot
Gerrit-Branch: main
Gerrit-Change-Id: If1e4180cb5fec3990fdee2b0e412173b1c8c6ded
Gerrit-Change-Number: 86153
Gerrit-PatchSet: 10
Gerrit-Owner: Dinesh Gehlot <digehlot(a)google.com>
Gerrit-Reviewer: Intel coreboot Reviewers <intel_coreboot_reviewers(a)intel.com>
Gerrit-Reviewer: Martin L Roth <gaumless(a)gmail.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Jérémy Compostella <jeremy.compostella(a)intel.com>
Gerrit-CC: Karthik Ramasubramanian <kramasub(a)google.com>
Gerrit-Attention: Intel coreboot Reviewers <intel_coreboot_reviewers(a)intel.com>
Gerrit-Attention: Martin L Roth <gaumless(a)gmail.com>
Gerrit-Attention: Dinesh Gehlot <digehlot(a)google.com>