mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 16:52:14 +02:00
bootvx: x86: Prepare e820 related stuff from the given kernel memory base address
At present two environment variables 'e820data'/'e820info' are required to boot a VxWorks x86 kernel, but this is superfluous. The offset of these two tables are actually at a fixed offset from the kernel memory base address and we can provide the kernel memory base address to U-Boot via only one variable 'vx_phys_mem_base'. Note as it name indicates, the physical address should be provided. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
This commit is contained in:
@@ -8,10 +8,16 @@
|
||||
#ifndef _VXWORKS_H_
|
||||
#define _VXWORKS_H_
|
||||
|
||||
/*
|
||||
* Physical address of memory base for VxWorks x86
|
||||
* This is LOCAL_MEM_LOCAL_ADRS in the VxWorks kernel configuration.
|
||||
*/
|
||||
#define VXWORKS_PHYS_MEM_BASE 0x100000
|
||||
|
||||
/*
|
||||
* VxWorks x86 E820 related stuff
|
||||
*
|
||||
* VxWorks on x86 gets E820 information from pre-defined address @
|
||||
* VxWorks on x86 gets E820 information from pre-defined offset @
|
||||
* 0x4a00 and 0x4000. At 0x4a00 it's an information table defined
|
||||
* by VxWorks and the actual E820 table entries starts from 0x4000.
|
||||
* As defined by the BIOS E820 spec, the maximum number of E820 table
|
||||
@@ -20,8 +26,8 @@
|
||||
* information that is retrieved from the BIOS E820 call and saved
|
||||
* later for sanity test during the kernel boot-up.
|
||||
*/
|
||||
#define VXWORKS_E820_DATA_ADDR 0x4000
|
||||
#define VXWORKS_E820_INFO_ADDR 0x4a00
|
||||
#define E820_DATA_OFFSET 0x4000
|
||||
#define E820_INFO_OFFSET 0x4a00
|
||||
|
||||
/* E820 info signatiure "SMAP" - System MAP */
|
||||
#define E820_SIGNATURE 0x534d4150
|
||||
|
Reference in New Issue
Block a user