-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add x86 Intel FSP minimal and experimental support #274
Conversation
otherwise uninitialized values can be used in `wolfBoot_open_image_address`
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work! Haven't been able to test yet. Just a couple of minor cleanups so far.
docs/Targets.md
Outdated
@@ -1384,3 +1384,36 @@ make test-sim-internal-flash-with-update | |||
# it should print 2 | |||
./wolfboot.elf success get_version | |||
``` | |||
## Intel X86 and X86_64 bare metal with Intel FSP support (experimental) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add two newlines above and add link to item on top of document.
#include <stdint.h> | ||
|
||
#ifdef __WOLFBOOT | ||
void hal_init(void) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All functions in this HAL are stubs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes. In the future, we may implement flash/pci-e/watchdog here
#ifndef FSP_H | ||
#define FSP_H | ||
|
||
struct fsp_info_header { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a packed struct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes. added it, thanks.
include/x86/serial.h
Outdated
|
||
#define SERIAL_PORT 0x3f8 | ||
|
||
int uart_init(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might consider reusing some of the DEBUG_UART
stuff. See include/printf.h
. It already declares these functions and maps them to wolfBoot_printf
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
refactored serial.c
in hal/x86_uart.c
to better match wolfboot uart hal
@@ -0,0 +1,38 @@ | |||
#include <stdint.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make sure the standard wolfBoot header is added to all new files.
src/x86/fsp/machines/qemu/qemu_fsp.c
Outdated
#include "qemu_fsp.h" | ||
|
||
const | ||
FSPT_UPD TempRamInitParams = { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use 4 space indentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested via wolfSSL/wolfBoot-examples#8 - works as expected.
a3957a2
to
aeb8823
Compare
Development moved to another WIP branch |
tested only on qemu
boot from the reset vector and then uses FSP binaries to initialize the memory and the silicon
qemu fsp can be obtained from the edk2 project see examples: add new qemu x86 FSP examples wolfBoot-examples#8 for an example of how to test the PR
there is also some unrelated bug fixing/improvements