9elements QA has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39427 )
Change subject: mb/tiogapass: use common driver to configure GPIO
......................................................................
Patch Set 43:
Automatic boot test returned (PASS/FAIL/TOTAL): 4/0/4
Emulation targets:
"QEMU x86 q35/ich9" using payload TianoCore : SUCCESS : https://lava.9esec.io/r/3070
"QEMU x86 q35/ich9" using payload SeaBIOS : SUCCESS : https://lava.9esec.io/r/3069
"QEMU x86 i440fx/piix4" using payload SeaBIOS : SUCCESS : https://lava.9esec.io/r/3068
"QEMU AArch64" using payload LinuxBoot_u-root_kexec : SUCCESS : https://lava.9esec.io/r/3067
Please note: This test is under development and might not be accurate at all!
--
To view, visit https://review.coreboot.org/c/coreboot/+/39427
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I818d040fa33f3e7b94b73c9bbbafca5df424616d
Gerrit-Change-Number: 39427
Gerrit-PatchSet: 43
Gerrit-Owner: Maxim Polyakov <max.senia.poliak(a)gmail.com>
Gerrit-Reviewer: Andrey Petrov <andrey.petrov(a)gmail.com>
Gerrit-Reviewer: Andrey Petrov <anpetrov(a)fb.com>
Gerrit-Reviewer: Angel Pons <th3fanbus(a)gmail.com>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: 9elements QA <hardwaretestrobot(a)gmail.com>
Gerrit-CC: David Hendricks <david.hendricks(a)gmail.com>
Gerrit-CC: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-CC: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-Comment-Date: Fri, 01 May 2020 22:03:15 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Hello Duncan Laurie, mturney mturney,
I'd like you to do a code review. Please visit
https://review.coreboot.org/c/coreboot/+/40895
to review the following change.
Change subject: libpayload: xhci: Do not memcpy registers
......................................................................
libpayload: xhci: Do not memcpy registers
memcpy() is meant to be used on normal memory and often implemented with
architecture-specific optimizations to make that as performant as
possible. MMIO registers often have special access restrictions that may
be incompatible with whatever memcpy() does. For example, on arm64 it
uses the LDP (load pair) to load 16 bytes at a time, which makes 4-byte
MMIO registers unhappy.
This patch removes the caching of the XHCI capreg registers and changes
it back to a pointer. The CAP_GET() macro is still accessing a full
(non-bitfield) uint32_t at the end so this should still generate a
4-byte access (which was the goal of the original change in CB:39838).
Signed-off-by: Julius Werner <jwerner(a)chromium.org>
Change-Id: Id058c8813087a8e8cb85f570399e07fb8a597108
---
M payloads/libpayload/drivers/usb/xhci.c
M payloads/libpayload/drivers/usb/xhci_private.h
2 files changed, 7 insertions(+), 7 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/95/40895/1
diff --git a/payloads/libpayload/drivers/usb/xhci.c b/payloads/libpayload/drivers/usb/xhci.c
index 2f61f86..ef1d73f 100644
--- a/payloads/libpayload/drivers/usb/xhci.c
+++ b/payloads/libpayload/drivers/usb/xhci.c
@@ -185,15 +185,15 @@
goto _free_xhci;
}
- memcpy(&xhci->capreg, phys_to_virt(physical_bar), sizeof(xhci->capreg));
+ xhci->capreg = phys_to_virt(physical_bar) + sizeof(xhci->capreg);
xhci->opreg = phys_to_virt(physical_bar) + CAP_GET(CAPLEN, xhci->capreg);
- xhci->hcrreg = phys_to_virt(physical_bar) + xhci->capreg.rtsoff;
- xhci->dbreg = phys_to_virt(physical_bar) + xhci->capreg.dboff;
+ xhci->hcrreg = phys_to_virt(physical_bar) + xhci->capreg->rtsoff;
+ xhci->dbreg = phys_to_virt(physical_bar) + xhci->capreg->dboff;
xhci_debug("regbase: 0x%"PRIx32"\n", physical_bar);
xhci_debug("caplen: 0x%"PRIx32"\n", CAP_GET(CAPLEN, xhci->capreg));
- xhci_debug("rtsoff: 0x%"PRIx32"\n", xhci->capreg.rtsoff);
- xhci_debug("dboff: 0x%"PRIx32"\n", xhci->capreg.dboff);
+ xhci_debug("rtsoff: 0x%"PRIx32"\n", xhci->capreg->rtsoff);
+ xhci_debug("dboff: 0x%"PRIx32"\n", xhci->capreg->dboff);
xhci_debug("hciversion: %"PRIx8".%"PRIx8"\n",
CAP_GET(CAPVER_HI, xhci->capreg), CAP_GET(CAPVER_LO, xhci->capreg));
diff --git a/payloads/libpayload/drivers/usb/xhci_private.h b/payloads/libpayload/drivers/usb/xhci_private.h
index 65c3fdd..0264f1f 100644
--- a/payloads/libpayload/drivers/usb/xhci_private.h
+++ b/payloads/libpayload/drivers/usb/xhci_private.h
@@ -364,7 +364,7 @@
#define CAP_CSZ_LEN 1
#define CAP_MASK(tok) MASK(CAP_##tok##_START, CAP_##tok##_LEN)
-#define CAP_GET(tok, cap) (((cap).CAP_##tok##_FIELD & CAP_MASK(tok)) \
+#define CAP_GET(tok, cap) (((cap)->CAP_##tok##_FIELD & CAP_MASK(tok)) \
>> CAP_##tok##_START)
#define CTXSIZE(xhci) (CAP_GET(CSZ, (xhci)->capreg) ? 64 : 32)
@@ -378,7 +378,7 @@
u32 hccparams;
u32 dboff;
u32 rtsoff;
- } __packed capreg;
+ } __packed *capreg;
/* opreg is R/W is most places, so volatile access is necessary.
volatile means that the compiler seeks byte writes if possible,
--
To view, visit https://review.coreboot.org/c/coreboot/+/40895
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Id058c8813087a8e8cb85f570399e07fb8a597108
Gerrit-Change-Number: 40895
Gerrit-PatchSet: 1
Gerrit-Owner: Julius Werner <jwerner(a)chromium.org>
Gerrit-Reviewer: Duncan Laurie <dlaurie(a)chromium.org>
Gerrit-Reviewer: mturney mturney <mturney(a)codeaurora.org>
Gerrit-MessageType: newchange
Raul Rangel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/30500 )
Change subject: arch/x86/postcar: Add x86_64 support
......................................................................
Patch Set 25: Code-Review+1
(1 comment)
> Patch Set 25:
>
> > Patch Set 25:
> >
> > What's the status of this patchset?
>
> The whole patch chain waits for review and testing. As there was no feedback in month I dropped the interest in this. It was successfully tested on QEMU and Intel Nehalem platforms, so it's definitely working on blob free platforms.
With the patches you have landed, is it possible to enable paging on x86_32? Would be nice to have it to catch stack overflows or writes to random sections of memory.
https://review.coreboot.org/c/coreboot/+/30500/25/src/arch/x86/exit_car.S
File src/arch/x86/exit_car.S:
https://review.coreboot.org/c/coreboot/+/30500/25/src/arch/x86/exit_car.S@39
PS25, Line 39: edx_eax
Can you swap the edx and eax in the name so it reads like the operations are executing.
--
To view, visit https://review.coreboot.org/c/coreboot/+/30500
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I1c190627f5f0ed6f82738cb99423892382899d7b
Gerrit-Change-Number: 30500
Gerrit-PatchSet: 25
Gerrit-Owner: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: Aaron Durbin <adurbin(a)chromium.org>
Gerrit-Reviewer: Arthur Heymans <arthur(a)aheymans.xyz>
Gerrit-Reviewer: Martin Roth <martinroth(a)google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi(a)google.com>
Gerrit-Reviewer: Patrick Rudolph <patrick.rudolph(a)9elements.com>
Gerrit-Reviewer: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-Reviewer: Raul Rangel <rrangel(a)chromium.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter(a)users.sourceforge.net>
Gerrit-Comment-Date: Fri, 01 May 2020 21:36:13 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment