Use lists instead of arrays for resources in devices to reduce memory usage.
Signed-off-by: Myles Watson <mylesgw@gmail.com> Acked-by: Patrick Georgi <patrick.georgi@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5576 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
@@ -74,11 +74,10 @@ struct device {
|
||||
u8 command;
|
||||
|
||||
/* Base registers for this device. I/O, MEM and Expansion ROM */
|
||||
struct resource resource[MAX_RESOURCES];
|
||||
unsigned int resources;
|
||||
struct resource *resource_list;
|
||||
|
||||
/* links are (downstream) buses attached to the device, usually a leaf
|
||||
* device with no children have 0 buses attached and a bridge has 1 bus
|
||||
* device with no children has 0 buses attached and a bridge has 1 bus
|
||||
*/
|
||||
struct bus link[MAX_LINKS];
|
||||
/* number of buses attached to the device */
|
||||
@@ -96,6 +95,7 @@ struct device {
|
||||
extern struct device dev_root;
|
||||
extern struct device *all_devices; /* list of all devices */
|
||||
|
||||
extern struct resource *free_resources;
|
||||
|
||||
/* Generic device interface functions */
|
||||
device_t alloc_dev(struct bus *parent, struct device_path *path);
|
||||
|
||||
@@ -68,6 +68,7 @@ struct resource {
|
||||
resource_t base; /* Base address of the resource */
|
||||
resource_t size; /* Size of the resource */
|
||||
resource_t limit; /* Largest valid value base + size -1 */
|
||||
struct resource* next; /* Next resource in the list */
|
||||
unsigned long flags; /* Descriptions of the kind of resource */
|
||||
unsigned long index; /* Bus specific per device resource id */
|
||||
unsigned char align; /* Required alignment (log 2) of the resource */
|
||||
|
||||
Reference in New Issue
Block a user