| 77f9b1fb | 13-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: ivybridge: Perform Intel microcode update on boot
Microcode updates are stored in the device tree. Work through these and apply any that are needed.
Signed-off-by: Simon Glass <sjg@chromium.or
x86: ivybridge: Perform Intel microcode update on boot
Microcode updates are stored in the device tree. Work through these and apply any that are needed.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| f5fbbe95 | 13-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: ivybridge: Perform initial CPU setup
Set up the flex ratio (controls speed versus heat output) and a few other very early things.
Signed-off-by: Simon Glass <sjg@chromium.org> |
| eddbad22 | 13-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: Add msr read/write functions that use a structure
It is convenient to be able to adjust MSRs with a structure that splits the two 32-bit halves into separate fields, as they are often dealt wit
x86: Add msr read/write functions that use a structure
It is convenient to be able to adjust MSRs with a structure that splits the two 32-bit halves into separate fields, as they are often dealt with separately. Add a few functions to support this.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 3f70a6f5 | 13-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: Add clr/setbits functions
These are available on other architectures. Make them available on x86 also.
Signed-off-by: Simon Glass <sjg@chromium.org> |
| 2b605154 | 13-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: ivybridge: Add early LPC init so that serial works
The PCH (Platform Controller Hub) includes an LPC (Low Pin Count) device which provides a serial port. This is accessible on Chromebooks, so e
x86: ivybridge: Add early LPC init so that serial works
The PCH (Platform Controller Hub) includes an LPC (Low Pin Count) device which provides a serial port. This is accessible on Chromebooks, so enable it early in the boot process.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 6fb3b72e | 13-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: pci: Allow configuration before relocation
Add simple PCI access routines for x86 which permit use before relocation. The normal PCI stack is still used, but for pre-relocation use there can on
x86: pci: Allow configuration before relocation
Add simple PCI access routines for x86 which permit use before relocation. The normal PCI stack is still used, but for pre-relocation use there can only ever be a single hose. After relocation, fall back to the normal access, although even then on x86 machines there is normally only a single PCI bus.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 7430f108 | 13-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: Support use of PCI before relocation
Add support for using PCI before SDRAM is available, using early malloc() and global_data.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin M
x86: Support use of PCI before relocation
Add support for using PCI before SDRAM is available, using early malloc() and global_data.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| d188b18f | 13-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: Refactor PCI to permit alternate init
We want access PCI earlier in the init sequence, so refactor the code so that it does not require use of a BSS variable to work. This will allow us to use
x86: Refactor PCI to permit alternate init
We want access PCI earlier in the init sequence, so refactor the code so that it does not require use of a BSS variable to work. This will allow us to use early malloc() to store information about a PCI hose.
Common PCI code moves to arch/x86/cpu/pci.c and a new board_pci_setup_hose() function is provided by boards to set up the (single) hose used by that board.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 70a09c6c | 13-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: chromebook_link: Implement CAR support (cache as RAM)
Add support for CAR so that we have memory to use prior to DRAM init. On link there is a total of 128KB of CAR available, although some is
x86: chromebook_link: Implement CAR support (cache as RAM)
Add support for CAR so that we have memory to use prior to DRAM init. On link there is a total of 128KB of CAR available, although some is used for the memory reference code.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| d1cd0459 | 13-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: Emit post codes in startup code for Chromebooks
On x86 it is common to use 'post codes' which are 8-bit hex values emitted from the code and visible to the user. Traditionally two 7-segment dis
x86: Emit post codes in startup code for Chromebooks
On x86 it is common to use 'post codes' which are 8-bit hex values emitted from the code and visible to the user. Traditionally two 7-segment displays were made available on the motherboard to show the last post code that was emitted. This allows diagnosis of a boot problem since it is possible to see where the code got to before it died.
On modern hardware these codes are not normally visible. On Chromebooks they are displayed by the Embedded Controller (EC), so it is useful to emit them. We must enable this feature for the EC to see the codes, so add an option for this.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 8ef07571 | 13-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: Add chromebook_link board
This board is a 'bare' version of the existing 'link 'board. It does not require coreboot to run, but is intended to start directly from the reset vector.
This initia
x86: Add chromebook_link board
This board is a 'bare' version of the existing 'link 'board. It does not require coreboot to run, but is intended to start directly from the reset vector.
This initial commit has place holders for a wide range of features. These will be added in follow-on patches and series. So far it cannot be booted as there is no ROM image produced, but it does build without errors.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 727c1a98 | 11-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: Replace fill_processor_name() with cpu_get_name()
This implementation has a 'cpu' prefix and returns a pointer to the string, avoiding the need for copying.
Signed-off-by: Simon Glass <sjg@chr
x86: Replace fill_processor_name() with cpu_get_name()
This implementation has a 'cpu' prefix and returns a pointer to the string, avoiding the need for copying.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 003504b6 | 11-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: Remove unnecessary find_fdt(), prepare_fdt() functions
These are no-longer needed so drop them.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> |
| 21b9b14b | 11-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: Add processor functions to halt and get stack pointer
Add a function to get the stack pointer and another to halt the CPU.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <
x86: Add processor functions to halt and get stack pointer
Add a function to get the stack pointer and another to halt the CPU.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 258b1357 | 09-Nov-2014 |
Bin Meng <bmeng.cn@gmail.com> |
x86: Save TSC frequency in the global data
Return the saved TSC frequency in get_tbclk_mhz().
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon
x86: Save TSC frequency in the global data
Return the saved TSC frequency in get_tbclk_mhz().
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 80de0495 | 09-Nov-2014 |
Bin Meng <bmeng.cn@gmail.com> |
x86: Add quick TSC calibration via PIT
Use the same way that Linux does for quick TSC calibration via PIT when calibration via MSR fails.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simo
x86: Add quick TSC calibration via PIT
Use the same way that Linux does for quick TSC calibration via PIT when calibration via MSR fails.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 52f952bf | 09-Nov-2014 |
Bin Meng <bmeng.cn@gmail.com> |
x86: Do CPU identification in the early phase
The CPU identification happens in x86_cpu_init_f() and corresponding fields are saved in the global data for later use.
Signed-off-by: Bin Meng <bmeng.
x86: Do CPU identification in the early phase
The CPU identification happens in x86_cpu_init_f() and corresponding fields are saved in the global data for later use.
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| f67cd51e | 06-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: Save the BIST value on reset
The built in self test value is available in register eax on start-up. Save it so that it can be accessed later. Unfortunately we must wait until the global_data is
x86: Save the BIST value on reset
The built in self test value is available in register eax on start-up. Save it so that it can be accessed later. Unfortunately we must wait until the global_data is available before we can do this, so there is a little bit of shuffling to keep it around.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| e1ffd817 | 06-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: Fix up some missing prototypes
Some functions are missing prototypes. Fix those that are specific to x86.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.co
x86: Fix up some missing prototypes
Some functions are missing prototypes. Fix those that are specific to x86.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 8b37c769 | 06-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: Use the standard arch_cpu_init() function
Instead of an x86-specific cpu_init_f() function, use the normal U-Boot one for this purpose. Also remove a useless/misleading comment.
Signed-off-by:
x86: Use the standard arch_cpu_init() function
Instead of an x86-specific cpu_init_f() function, use the normal U-Boot one for this purpose. Also remove a useless/misleading comment.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 07387d17 | 06-Nov-2014 |
Simon Glass <sjg@chromium.org> |
x86: Use the standard dram_init() function
Instead of having an x86-specific DRAM init function, adjust things so we can use the normal one.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-b
x86: Use the standard dram_init() function
Instead of having an x86-specific DRAM init function, adjust things so we can use the normal one.
Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
show more ...
|
| 76539383 | 10-Oct-2014 |
Simon Glass <sjg@chromium.org> |
x86: Move kernel boot function to arch/x86/lib/bootm.c
The boot_zimage() function is badly named it can also boot a raw kernel. Rename it, and try to avoid pointers for memory addresses as it involv
x86: Move kernel boot function to arch/x86/lib/bootm.c
The boot_zimage() function is badly named it can also boot a raw kernel. Rename it, and try to avoid pointers for memory addresses as it involves lots of casting.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 200182a7 | 10-Oct-2014 |
Simon Glass <sjg@chromium.org> |
x86: Add support for starting 64-bit kernel
Add code to jump to a 64-bit Linux kernel. We need to set up a flat page table structure, a new GDT and then go through a few hoops in the right order.
S
x86: Add support for starting 64-bit kernel
Add code to jump to a 64-bit Linux kernel. We need to set up a flat page table structure, a new GDT and then go through a few hoops in the right order.
Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 92cc94a1 | 10-Oct-2014 |
Simon Glass <sjg@chromium.org> |
x86: Display basic CPU information on boot
Display the type of CPU (x86 or x86_64) when starting up.
Signed-off-by: Simon Glass <sjg@chromium.org> |
| dc68584b | 10-Oct-2014 |
Simon Glass <sjg@chromium.org> |
x86: Bring in msr-index.h from linux 3.8
Update this file to include x86_64 fields.
Signed-off-by: Simon Glass <sjg@chromium.org> |