| ecfeadab | 10-Aug-2015 |
Bin Meng <bmeng.cn@gmail.com> |
x86: Set APs' req_seq to the reg number from device tree
Multiple APs are brought up simultaneously and they may get the same seq num in the uclass_resolve_seq() during device_probe(). To avoid this
x86: Set APs' req_seq to the reg number from device tree
Multiple APs are brought up simultaneously and they may get the same seq num in the uclass_resolve_seq() during device_probe(). To avoid this, set req_seq to the reg number in the device tree in advance.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 7399515d | 11-Aug-2015 |
Simon Glass <sjg@chromium.org> |
x86: Show the un-relocated IP address in exceptions
When trying to figure out where an exception has occured, the relocated address is not a lot of help. Its value depends on various factors. Show t
x86: Show the un-relocated IP address in exceptions
When trying to figure out where an exception has occured, the relocated address is not a lot of help. Its value depends on various factors. Show the un-relocated IP as well. This can be looked up in System.map directly.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| f0c7d9c7 | 11-Aug-2015 |
Simon Glass <sjg@chromium.org> |
x86: Switch to using generic global_data setup
There is quite a bit of assembler code that can be removed if we use the generic global_data setup. Less arch-specific code makes it easier to add new
x86: Switch to using generic global_data setup
There is quite a bit of assembler code that can be removed if we use the generic global_data setup. Less arch-specific code makes it easier to add new features and maintain the start-up code.
Drop the unneeded code and adjust the hooks in board_f.c to cope.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 2db93745 | 11-Aug-2015 |
Simon Glass <sjg@chromium.org> |
x86: Move the GDT into global_data
Rather than keeping track of the Global Descriptor Table in its own memory we may as well put it in global_data with everything else. As a first step, stop using t
x86: Move the GDT into global_data
Rather than keeping track of the Global Descriptor Table in its own memory we may as well put it in global_data with everything else. As a first step, stop using the separately allocated GDT.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| c8896ee4 | 10-Aug-2015 |
Simon Glass <sjg@chromium.org> |
x86: baytrail: Support running as an EFI payload
We should not fiddle with interrupts or the FSP when running as an EFI payload. Detect this and skip this code.
Signed-off-by: Simon Glass <sjg@chro
x86: baytrail: Support running as an EFI payload
We should not fiddle with interrupts or the FSP when running as an EFI payload. Detect this and skip this code.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 46f8efee | 10-Aug-2015 |
Simon Glass <sjg@chromium.org> |
x86: baytrail: Tidy up interrupt and FSP init
We should signal to the FSP that PCI enumeration is complete. Perform this task in a suitable place.
Signed-off-by: Simon Glass <sjg@chromium.org> Revi
x86: baytrail: Tidy up interrupt and FSP init
We should signal to the FSP that PCI enumeration is complete. Perform this task in a suitable place.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 7e4be120 | 10-Aug-2015 |
Simon Glass <sjg@chromium.org> |
x86: Allow pirq_init() to return an error
This function can fail. In this case we should return the error rather than swallowing it.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin M
x86: Allow pirq_init() to return an error
This function can fail. In this case we should return the error rather than swallowing it.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 9e3ff9c2 | 10-Aug-2015 |
Simon Glass <sjg@chromium.org> |
x86: Tidy up the PIRQ routing code a little
This code could use a little tightening up. There is some repetition and an odd use of fdtdec_get_int_array().
Signed-off-by: Simon Glass <sjg@chromium.o
x86: Tidy up the PIRQ routing code a little
This code could use a little tightening up. There is some repetition and an odd use of fdtdec_get_int_array().
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| f3b84a30 | 07-Aug-2015 |
Andrew Bradford <andrew.bradford@kodakalaris.com> |
x86: baytrail: Configure FSP UPD from device tree
Allow for configuration of FSP UPD from the device tree which will override any settings which the FSP was built with itself.
Modify the MinnowMax
x86: baytrail: Configure FSP UPD from device tree
Allow for configuration of FSP UPD from the device tree which will override any settings which the FSP was built with itself.
Modify the MinnowMax and BayleyBay boards to transfer sensible UPD settings from the Intel FSPv4 Gold release to the respective dts files, with the condition that the memory-down parameters for MinnowMax are also used.
Signed-off-by: Andrew Bradford <andrew.bradford@kodakalaris.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> Removed fsp,mrc-debug-msg and fsp,enable-xhci for minnowmax, bayleybay Fixed lines >80col Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| bbbe55f6 | 03-Aug-2015 |
Simon Glass <sjg@chromium.org> |
x86: Enable debug UART for Minnowmax
Enable the debug UART and emit a single 'a' early in the init sequence to show that it is working.
Unfortunately the debug UART implementation needs a stack to
x86: Enable debug UART for Minnowmax
Enable the debug UART and emit a single 'a' early in the init sequence to show that it is working.
Unfortunately the debug UART implementation needs a stack to work. I cannot seem to remove this limitation as the absolute 'jmp %eax' instruction goes off into the weeds.
So this means that the character output cannot be any earlier than car_init_ret, where memory is available for a stack.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
show more ...
|
| eeae5100 | 04-Aug-2015 |
Simon Glass <sjg@chromium.org> |
x86: qemu: Support operation as an EFI payload
Disable a few things which interfere with the EFI init. This allows QEMU to to boot into EFI, load a U-Boot payload then boot to the U-Boot prompt.
Si
x86: qemu: Support operation as an EFI payload
Disable a few things which interfere with the EFI init. This allows QEMU to to boot into EFI, load a U-Boot payload then boot to the U-Boot prompt.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| b4302582 | 04-Aug-2015 |
Simon Glass <sjg@chromium.org> |
x86: baytrail: Support operation as an EFI payload
Disable a few things which interfere with the EFI init. This allows the Minnowboard MAX to boot into EFI, load a U-Boot payload then boot to the U-
x86: baytrail: Support operation as an EFI payload
Disable a few things which interfere with the EFI init. This allows the Minnowboard MAX to boot into EFI, load a U-Boot payload then boot to the U-Boot prompt.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| e49cceac | 04-Aug-2015 |
Simon Glass <sjg@chromium.org> |
x86: Handle running as EFI payload
When U-Boot runs as an EFI payload it needs to avoid setting up the CPU again. Also U-Boot currently does not handle interrupts for many devices, so run with inter
x86: Handle running as EFI payload
When U-Boot runs as an EFI payload it needs to avoid setting up the CPU again. Also U-Boot currently does not handle interrupts for many devices, so run with interrupts disabled.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 42fde305 | 04-Aug-2015 |
Simon Glass <sjg@chromium.org> |
x86: Add support for passing tables into U-Boot
The EFI stub provides information to U-Boot in a table. This includes the memory map which is needed to decide where to relocate U-Boot. Collect this
x86: Add support for passing tables into U-Boot
The EFI stub provides information to U-Boot in a table. This includes the memory map which is needed to decide where to relocate U-Boot. Collect this information in the early init code and store it in global_data.
Fix up the BIST code at the same time since we don't have it when booting from EFI and can assume it is 0.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 6f92ed8f | 04-Aug-2015 |
Simon Glass <sjg@chromium.org> |
x86: Add a way to call 32-bit code from 64-bit mode
The procedure to drop from 64-bit mode to 32-bit is a bit messy. Add a function to take care of it. It requires identity-mapped pages and that the
x86: Add a way to call 32-bit code from 64-bit mode
The procedure to drop from 64-bit mode to 32-bit is a bit messy. Add a function to take care of it. It requires identity-mapped pages and that the calling code is running below 4GB.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 465a67cf | 04-Aug-2015 |
Simon Glass <sjg@chromium.org> |
x86: Add relocation and link script for a 64-bit EFI application
Add a linker script and relocation code for building 64-bit EFI applications. This can be used for the EFI stub.
Signed-off-by: Simo
x86: Add relocation and link script for a 64-bit EFI application
Add a linker script and relocation code for building 64-bit EFI applications. This can be used for the EFI stub.
Signed-off-by: Simon Glass <sjg@chromium.org> Improvements to how the payload is built: Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 3dcdd17b | 04-Aug-2015 |
Ben Stoltz <stoltz@google.com> |
x86: Add support for U-Boot as an EFI application
Add the required x86 glue code. This includes the initial start-up, relocation and jumping to efi_main(). We also need to avoid fiddling with interr
x86: Add support for U-Boot as an EFI application
Add the required x86 glue code. This includes the initial start-up, relocation and jumping to efi_main(). We also need to avoid fiddling with interrupts.
Signed-off-by: Ben Stoltz <stoltz@google.com> Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 8aba36d8 | 31-Jul-2015 |
Simon Glass <sjg@chromium.org> |
x86: Tidy up a few minor issues with interrupts
Fix a typo, remove an unused field and make sure to use existing #define constants instead of open-coded values.
Signed-off-by: Simon Glass <sjg@chro
x86: Tidy up a few minor issues with interrupts
Fix a typo, remove an unused field and make sure to use existing #define constants instead of open-coded values.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 8b097916 | 31-Jul-2015 |
Simon Glass <sjg@chromium.org> |
x86: Add some missing global_data declarations in files that use gd
Some files use global_data but don't declare it. Fix this.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <b
x86: Add some missing global_data declarations in files that use gd
Some files use global_data but don't declare it. Fix this.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 0bc74ab3 | 31-Jul-2015 |
Simon Glass <sjg@chromium.org> |
x86: Tidy up the 64-bit calling code
The GDT works but technically the length is incorrect. Fix this and add a comment.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn
x86: Tidy up the 64-bit calling code
The GDT works but technically the length is incorrect. Fix this and add a comment.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 83ec7de3 | 31-Jul-2015 |
Simon Glass <sjg@chromium.org> |
x86: Tidy up global_data flags
These flags now overlap some global ones. Adjust the x86-specific flags to avoid this. Since this requires a change to the start.S code, add a way for tools to find th
x86: Tidy up global_data flags
These flags now overlap some global ones. Adjust the x86-specific flags to avoid this. Since this requires a change to the start.S code, add a way for tools to find the 32-bit cold reset entry point. Previously this was at a fixed offset.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| b6c9a205 | 31-Jul-2015 |
Simon Glass <sjg@chromium.org> |
x86: Use CR0 constants in CPU init
We should use these constants where possible.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> |
| da3a95d6 | 31-Jul-2015 |
Simon Glass <sjg@chromium.org> |
x86: Add various minor tidy-ups to the 32-bit startup code
Fix a typo, improve some comments and add a little more detail in some cases.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: B
x86: Add various minor tidy-ups to the 32-bit startup code
Fix a typo, improve some comments and add a little more detail in some cases.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| fe3fbd30 | 30-Jul-2015 |
Bin Meng <bmeng.cn@gmail.com> |
x86: bayleybay: Configure PCI IRQ
Add PCI IRQ routing information in the board device tree and enable writing PIRQ routing table and MP table.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by:
x86: bayleybay: Configure PCI IRQ
Add PCI IRQ routing information in the board device tree and enable writing PIRQ routing table and MP table.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 9830d2eb | 22-Jul-2015 |
Bin Meng <bmeng.cn@gmail.com> |
x86: qemu: Turn on PCIe ECAM address range decoding on Q35
Turn on PCIe ECAM address range decoding on Q35.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org> |