mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-11 07:34:31 +00:00
x86: acpi: Return table length in acpi_create_madt_lapics()
Like other MADT table write routines, make acpi_create_madt_lapics() return how many bytes it has written instead of the table end addr. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
9e70a11622
commit
fc4f5cccd8
2 changed files with 6 additions and 4 deletions
|
@ -301,7 +301,7 @@ struct acpi_mcfg_mmconfig {
|
||||||
void acpi_fill_header(struct acpi_table_header *header, char *signature);
|
void acpi_fill_header(struct acpi_table_header *header, char *signature);
|
||||||
void acpi_create_fadt(struct acpi_fadt *fadt, struct acpi_facs *facs,
|
void acpi_create_fadt(struct acpi_fadt *fadt, struct acpi_facs *facs,
|
||||||
void *dsdt);
|
void *dsdt);
|
||||||
u32 acpi_create_madt_lapics(u32 current);
|
int acpi_create_madt_lapics(u32 current);
|
||||||
int acpi_create_madt_ioapic(struct acpi_madt_ioapic *ioapic, u8 id,
|
int acpi_create_madt_ioapic(struct acpi_madt_ioapic *ioapic, u8 id,
|
||||||
u32 addr, u32 gsi_base);
|
u32 addr, u32 gsi_base);
|
||||||
int acpi_create_madt_irqoverride(struct acpi_madt_irqoverride *irqoverride,
|
int acpi_create_madt_irqoverride(struct acpi_madt_irqoverride *irqoverride,
|
||||||
|
|
|
@ -179,21 +179,23 @@ static int acpi_create_madt_lapic(struct acpi_madt_lapic *lapic,
|
||||||
return lapic->length;
|
return lapic->length;
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 acpi_create_madt_lapics(u32 current)
|
int acpi_create_madt_lapics(u32 current)
|
||||||
{
|
{
|
||||||
struct udevice *dev;
|
struct udevice *dev;
|
||||||
|
int length = 0;
|
||||||
|
|
||||||
for (uclass_find_first_device(UCLASS_CPU, &dev);
|
for (uclass_find_first_device(UCLASS_CPU, &dev);
|
||||||
dev;
|
dev;
|
||||||
uclass_find_next_device(&dev)) {
|
uclass_find_next_device(&dev)) {
|
||||||
struct cpu_platdata *plat = dev_get_parent_platdata(dev);
|
struct cpu_platdata *plat = dev_get_parent_platdata(dev);
|
||||||
|
|
||||||
current += acpi_create_madt_lapic(
|
length += acpi_create_madt_lapic(
|
||||||
(struct acpi_madt_lapic *)current,
|
(struct acpi_madt_lapic *)current,
|
||||||
plat->cpu_id, plat->cpu_id);
|
plat->cpu_id, plat->cpu_id);
|
||||||
|
current += length;
|
||||||
}
|
}
|
||||||
|
|
||||||
return current;
|
return length;
|
||||||
}
|
}
|
||||||
|
|
||||||
int acpi_create_madt_ioapic(struct acpi_madt_ioapic *ioapic, u8 id,
|
int acpi_create_madt_ioapic(struct acpi_madt_ioapic *ioapic, u8 id,
|
||||||
|
|
Loading…
Reference in a new issue