Add support for reserved regions to resources and coreboot tables.
Signed-off-by: Myles Watson <mylesgw@gmail.com> Acked-by: Myles Watson <mylesgw@gmail.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5795 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
6b247d3ef8
commit
e0a000cc12
|
@ -488,6 +488,20 @@ static struct lb_memory *build_lb_mem(struct lb_header *head)
|
|||
return mem;
|
||||
}
|
||||
|
||||
static void lb_add_rsvd_range(void *gp, struct device *dev, struct resource *res)
|
||||
{
|
||||
struct lb_memory *mem = gp;
|
||||
lb_add_memory_range(mem, LB_MEM_RESERVED, res->base, res->size);
|
||||
}
|
||||
|
||||
static void add_lb_reserved(struct lb_memory *mem)
|
||||
{
|
||||
/* Add reserved ranges */
|
||||
search_global_resources(
|
||||
IORESOURCE_MEM | IORESOURCE_RESERVE, IORESOURCE_MEM | IORESOURCE_RESERVE,
|
||||
lb_add_rsvd_range, mem);
|
||||
}
|
||||
|
||||
#if CONFIG_WRITE_HIGH_TABLES == 1
|
||||
extern uint64_t high_tables_base, high_tables_size;
|
||||
#endif
|
||||
|
@ -562,6 +576,9 @@ unsigned long write_coreboot_table(
|
|||
high_tables_base, high_tables_size);
|
||||
#endif
|
||||
|
||||
/* Add reserved regions */
|
||||
add_lb_reserved(mem);
|
||||
|
||||
#if (CONFIG_HAVE_MAINBOARD_RESOURCES == 1)
|
||||
add_mainboard_resources(mem);
|
||||
#endif
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
* to the bus below.
|
||||
*/
|
||||
#define IORESOURCE_BRIDGE 0x00080000 /* The IO resource has a bus below it. */
|
||||
#define IORESOURCE_RESERVE 0x10000000 /* The resource needs to be reserved in the Coreboot table */
|
||||
#define IORESOURCE_STORED 0x20000000 /* The IO resource assignment has been stored in the device */
|
||||
#define IORESOURCE_ASSIGNED 0x40000000 /* An IO resource that has been assigned a value */
|
||||
#define IORESOURCE_FIXED 0x80000000 /* An IO resource the allocator must not change */
|
||||
|
|
Loading…
Reference in New Issue