1
0
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:
Bin Meng
2018-04-11 22:02:07 -07:00
parent 2ad3d088d2
commit 2902be86c1
3 changed files with 22 additions and 26 deletions

View File

@@ -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