[LinuxBIOS] EFI Payload help: how to identify the resource types and attributes in LB

Xiong Yi xiongyi04 at gmail.com
Mon Jul 2 20:20:38 CEST 2007


Hi, all

 

I am developing the EFI payload for LB (see
http://code.google.com/soc/2007/coresystems/appinfo.html?csaid=83B941F46A422
F1A).

And I am unifying the resource management of LB and EFI. In more details, I
am parsing the LB table and converting it to the HOB structures of Tiano
EFI.

I described this idea several days ago.
(http://www.linuxbios.org/pipermail/linuxbios/2007-June/022340.html) 

 

But there is a problem:

 

The Tiano EFI describes the system resources as types and attributes, such
as the following definition:

 //*********************************************************

// EFI_RESOURCE_TYPE (define the resource type)

//*********************************************************

typedef UINT32 EFI_RESOURCE_TYPE;

#define EFI_RESOURCE_SYSTEM_MEMORY 0x00000000 (system memory resource)

#define EFI_RESOURCE_MEMORY_MAPPED_IO 0x00000001 (memory-mapped IO)

#define EFI_RESOURCE_IO 0x00000002 (Processor IO space)

#define EFI_RESOURCE_FIRMWARE_DEVICE 0x00000003 (Memory-mapped firmware
device)

#define EFI_RESOURCE_MEMORY_RESERVED 0x00000005 (Reserved memory address
space)

#define EFI_RESOURCE_IO_RESERVED 0x00000006 (Reserved IO address space)

 

//**************************************************************************
********

// EFI_RESOURCE_ATTRIBUTE_TYPE(define the resource attributes)

//**************************************************************************
********

 

typedef UINT32 EFI_RESOURCE_ATTRIBUTE_TYPE;

// These types can be ORed together as needed.

#define EFI_RESOURCE_ATTRIBUTE_PRESENT 0x00000001 (the memory region exists)

#define EFI_RESOURCE_ATTRIBUTE_INITIALIZED 0x00000002 (the memory region has
been initialized)

#define EFI_RESOURCE_ATTRIBUTE_TESTED 0x00000004 (the memory region has been
tested)

 

And there are similar definitions in the LB's /src/include/device/resourch.h
file.

But I can just find 

IORESOURCE_MEM | IORESOURCE_CACHEABLE (system memory) resources types and 

LB_MEM_RAM, LB_MEM_TABLE attributes in the LB tables. 

 

So how to identify other resource types and attributes in LB?

Or the current LB implementation just describes these types and attributes, 

I need to construct the rest resource types and attributes in the payload
itself as the exact requirement?

 

By the way, I built the LB with qemu emulation and just track qemu emulation
LB's source codes.

 

Thanks & Best regards,

 

Xiong Yi

 

 

 

 

 

 

 

 

 

 

 

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20070702/a443058c/attachment.html>


More information about the coreboot mailing list