| 3cdc18a8 | 23-Oct-2012 |
Vadim Bendebury <vbendeb@chromium.org> |
x86: Add a CBMEM timestamp generated right before the kernel startup.
To maintain the initialization state of the timestamp facility, thesq pointer to the CBMEM section containing the timestamp tabl
x86: Add a CBMEM timestamp generated right before the kernel startup.
To maintain the initialization state of the timestamp facility, thesq pointer to the CBMEM section containing the timestamp table should be kept in the .data section (so that it is maintained across u-boot relocation).
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| 8d61625d | 27-Nov-2012 |
Graeme Russ <graeme.russ@gmail.com> |
x86: Put global data on the stack
Putting global data on the stack simplifies the init process (and makes it slightly quicker). During the 'flash' stage of the init sequence, global data is in the C
x86: Put global data on the stack
Putting global data on the stack simplifies the init process (and makes it slightly quicker). During the 'flash' stage of the init sequence, global data is in the CAR stack. After SDRAM is initialised, global data is copied from CAR to the SDRAM stack
Signed-off-by: Graeme Russ <graeme.russ@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
show more ...
|
| d47ab0ec | 23-Dec-2011 |
Graeme Russ <graeme.russ@gmail.com> |
x86: Split init functions out of board.c
This patch moves towards reducing board.c to simply a set of init cores for the three initialisation phases (Flash, Flash/RAM, and RAM), a set of three init
x86: Split init functions out of board.c
This patch moves towards reducing board.c to simply a set of init cores for the three initialisation phases (Flash, Flash/RAM, and RAM), a set of three init function arrays and a init function array processing function
show more ...
|
| 9e6c572f | 31-Dec-2011 |
Graeme Russ <graeme.russ@gmail.com> |
x86: Use fs for global data
Use the base address of the 'F' segment as a pointer to the global data structure. By adding the linear address (i.e. the 'D' segment address) as the first word of the gl
x86: Use fs for global data
Use the base address of the 'F' segment as a pointer to the global data structure. By adding the linear address (i.e. the 'D' segment address) as the first word of the global data structure, the address of the global data relative to the 'D' segment can be found simply, for example, by:
fs movl 0, %eax
This makes the gd 'pointer' writable prior to relocation (by reloading the Global Desctriptor Table) which brings x86 into line with all other arches
NOTE: Writing to the gd 'pointer' is expensive (but we only do it twice) but using it to access global data members (read and write) is still fairly cheap
-- Changes for v2: - Rebased against changes made to patch #3 - Removed extra indent - Tweaked commit message
show more ...
|
| 240ab5aa | 01-Jan-2012 |
Graeme Russ <graeme.russ@gmail.com> |
x86: Rework relocation calculations
This commit introduces no functional changes - It simply re-arranges the calculations so that adding to them in future commits will be cleaner
-- Changes for v2:
x86: Rework relocation calculations
This commit introduces no functional changes - It simply re-arranges the calculations so that adding to them in future commits will be cleaner
-- Changes for v2: - Fixed typo in title - Added commit message
show more ...
|
| 1176a706 | 27-Dec-2011 |
Graeme Russ <graeme.russ@gmail.com> |
x86: Speed up copy-to-RAM and clear BSS operations
The implementations of memcpy and memset are now the optimised versions from glibc, so use them instead of simple copy loops
-- Changes for v2: -
x86: Speed up copy-to-RAM and clear BSS operations
The implementations of memcpy and memset are now the optimised versions from glibc, so use them instead of simple copy loops
-- Changes for v2: - Removed unneeded brackets
show more ...
|