x86: acpi: Export acpi_fill_mcfg() with __weak attribute

Some platforms might require different approach when filling memory
mappings configuration table.

Allow them to override the common method.

At the same time export acpi_create_mcfg_mmconfig().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
Andy Shevchenko 2017-07-21 22:32:05 +03:00 committed by Bin Meng
parent b156da91fb
commit ace7762b28
2 changed files with 6 additions and 3 deletions

View file

@ -314,6 +314,9 @@ int acpi_create_madt_irqoverride(struct acpi_madt_irqoverride *irqoverride,
int acpi_create_madt_lapic_nmi(struct acpi_madt_lapic_nmi *lapic_nmi, int acpi_create_madt_lapic_nmi(struct acpi_madt_lapic_nmi *lapic_nmi,
u8 cpu, u16 flags, u8 lint); u8 cpu, u16 flags, u8 lint);
u32 acpi_fill_madt(u32 current); u32 acpi_fill_madt(u32 current);
int acpi_create_mcfg_mmconfig(struct acpi_mcfg_mmconfig *mmconfig, u32 base,
u16 seg_nr, u8 start, u8 end);
u32 acpi_fill_mcfg(u32 current);
void acpi_create_gnvs(struct acpi_global_nvs *gnvs); void acpi_create_gnvs(struct acpi_global_nvs *gnvs);
/** /**
* enter_acpi_mode() - enter into ACPI mode * enter_acpi_mode() - enter into ACPI mode

View file

@ -293,8 +293,8 @@ static void acpi_create_madt(struct acpi_madt *madt)
header->checksum = table_compute_checksum((void *)madt, header->length); header->checksum = table_compute_checksum((void *)madt, header->length);
} }
static int acpi_create_mcfg_mmconfig(struct acpi_mcfg_mmconfig *mmconfig, int acpi_create_mcfg_mmconfig(struct acpi_mcfg_mmconfig *mmconfig, u32 base,
u32 base, u16 seg_nr, u8 start, u8 end) u16 seg_nr, u8 start, u8 end)
{ {
memset(mmconfig, 0, sizeof(*mmconfig)); memset(mmconfig, 0, sizeof(*mmconfig));
mmconfig->base_address_l = base; mmconfig->base_address_l = base;
@ -306,7 +306,7 @@ static int acpi_create_mcfg_mmconfig(struct acpi_mcfg_mmconfig *mmconfig,
return sizeof(struct acpi_mcfg_mmconfig); return sizeof(struct acpi_mcfg_mmconfig);
} }
static u32 acpi_fill_mcfg(u32 current) __weak u32 acpi_fill_mcfg(u32 current)
{ {
current += acpi_create_mcfg_mmconfig current += acpi_create_mcfg_mmconfig
((struct acpi_mcfg_mmconfig *)current, ((struct acpi_mcfg_mmconfig *)current,