Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/42982 )
Change subject: Documentation: Add TODOs for secure SMM when using x86_64
......................................................................
Documentation: Add TODOs for secure SMM when using x86_64
Change-Id: I157238f18bc1c2eba0adc0b87caa9adaf3fc5d38
Signed-off-by: Patrick Rudolph <siro(a)das-labor.org>
---
M Documentation/arch/x86/index.md
1 file changed, 9 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/82/42982/1
diff --git a/Documentation/arch/x86/index.md b/Documentation/arch/x86/index.md
index 462e7e6..5e75b5b 100644
--- a/Documentation/arch/x86/index.md
+++ b/Documentation/arch/x86/index.md
@@ -49,6 +49,15 @@
* Add assembly code to return to protected mode - *TODO*
* Implement reference code for mainboard `emulation/qemu-q35` - *TODO*
+## Future work
+
+1. Fine grained page tables for SMM:
+ * Must not have execute and write permissions for the same page.
+ * Must allow only that TSEG pages can be marked executable
+ * Must reside in SMRAM
+2. Support 64bit PCI BARs above 4GiB
+3. Place and run code above 4GiB
+
## Porting other boards
* Fix compilation errors
* Test how well CAR works with x86_64 and paging
--
To view, visit https://review.coreboot.org/c/coreboot/+/42982
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I157238f18bc1c2eba0adc0b87caa9adaf3fc5d38
Gerrit-Change-Number: 42982
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <siro(a)das-labor.org>
Gerrit-MessageType: newchange
Michael Walle has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/43126 )
Change subject: libpayload: arm64: silence libpayload main entry
......................................................................
libpayload: arm64: silence libpayload main entry
No other architecture in libpayload outputs anything in the main entry
routing. Let alone an exception test which looks like a real exception
to the normal user and is most likely really misleading. Silence the
startup code.
Change-Id: I6e49f24ad46ce578a4bb111c2d623ca4470a1866
Signed-off-by: Michael Walle <michael(a)walle.cc>
---
M payloads/libpayload/arch/arm64/exception.c
M payloads/libpayload/arch/arm64/main.c
2 files changed, 1 insertion(+), 23 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/26/43126/1
diff --git a/payloads/libpayload/arch/arm64/exception.c b/payloads/libpayload/arch/arm64/exception.c
index 94e7990..21ed1c2 100644
--- a/payloads/libpayload/arch/arm64/exception.c
+++ b/payloads/libpayload/arch/arm64/exception.c
@@ -32,7 +32,6 @@
u64 exception_stack[2*KiB] __attribute__((aligned(16)));
u64 *exception_stack_end = exception_stack + ARRAY_SIZE(exception_stack);
-extern unsigned int test_exc;
struct exception_handler_info
{
@@ -111,13 +110,7 @@
/* Few words below SP in case we need state from a returned function. */
dump_stack(state->sp - 32, 512);
- if (test_exc) {
- state->elr += 4;
- test_exc = 0;
- printf("returning back now\n");
- }
- else
- halt();
+ halt();
}
void exception_init(void)
diff --git a/payloads/libpayload/arch/arm64/main.c b/payloads/libpayload/arch/arm64/main.c
index 1311a86..374c8b1 100644
--- a/payloads/libpayload/arch/arm64/main.c
+++ b/payloads/libpayload/arch/arm64/main.c
@@ -35,19 +35,6 @@
/** The argv value to pass to main() */
char *main_argv[MAX_ARGC_COUNT];
-unsigned int test_exc;
-
-static int test_exception(void)
-{
- uint64_t *a = (uint64_t *)0xfffffffff0000000ULL;
-
- test_exc = 1;
-
- printf("%llx\n", *a);
-
- return 0;
-}
-
/*
* Func: pre_sysinfo_scan_mmu_setup
* Desc: We need to setup and enable MMU before we can go to scan coreboot
@@ -126,10 +113,8 @@
console_init();
#endif
- printf("ARM64: Libpayload %s\n",__func__);
exception_init();
- test_exception();
/*
* Any other system init that has to happen before the
* user gets control goes here.
--
To view, visit https://review.coreboot.org/c/coreboot/+/43126
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I6e49f24ad46ce578a4bb111c2d623ca4470a1866
Gerrit-Change-Number: 43126
Gerrit-PatchSet: 1
Gerrit-Owner: Michael Walle <michael(a)walle.cc>
Gerrit-MessageType: newchange
Michael Walle has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/43125 )
Change subject: libpayload: arm64: fix OUTPUT_ARCH()
......................................................................
libpayload: arm64: fix OUTPUT_ARCH()
There is no bfd "arm64". The correct bfdname is "aarch64". Fix it. With
this change libpayload will build with the AArch64 GCC.
Change-Id: If7a6b14691107c5d4fc67c3cd3990ecc849d4af1
Signed-off-by: Michael Walle <michael(a)walle.cc>
---
M payloads/libpayload/arch/arm64/libpayload.ldscript
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/25/43125/1
diff --git a/payloads/libpayload/arch/arm64/libpayload.ldscript b/payloads/libpayload/arch/arm64/libpayload.ldscript
index 8ebafce..f9fb771 100644
--- a/payloads/libpayload/arch/arm64/libpayload.ldscript
+++ b/payloads/libpayload/arch/arm64/libpayload.ldscript
@@ -28,7 +28,7 @@
*/
OUTPUT_FORMAT("elf64-littleaarch64","elf64-littleaarch64", "elf64-littleaarch64")
-OUTPUT_ARCH(arm64)
+OUTPUT_ARCH(aarch64)
ENTRY(_entry)
--
To view, visit https://review.coreboot.org/c/coreboot/+/43125
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: If7a6b14691107c5d4fc67c3cd3990ecc849d4af1
Gerrit-Change-Number: 43125
Gerrit-PatchSet: 1
Gerrit-Owner: Michael Walle <michael(a)walle.cc>
Gerrit-MessageType: newchange