Commit db5bb24a authored by liuyun's avatar liuyun Committed by Hongchen Zhang
Browse files

LoongArch: Old BPI compatibility

LoongArch inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I8H2OZ



--------------------------------

Signed-off-by: default avatarliuyun <liuyun@loongson.cn>
parent 221e2e8b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -124,6 +124,7 @@ extern unsigned long vm_map_base;
#define PCI_IOSIZE	SZ_32M
#define ISA_IOSIZE	SZ_16K
#define IO_SPACE_LIMIT	(PCI_IOSIZE - 1)
#define ISA_PHY_IOBASE  LOONGSON_LIO_BASE

#define PHYS_LINK_KADDR	PHYSADDR(VMLINUX_LOAD_ADDRESS)

+1 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@
#define _ASM_LOONGARCH_EFI_H

#include <linux/efi.h>
#include <asm/early_ioremap.h>

void __init efi_init(void);
void __init efi_runtime_init(void);
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ obj-y += head.o cpu-probe.o cacheinfo.o env.o setup.o entry.o genex.o \
		   traps.o irq.o idle.o process.o dma.o mem.o io.o reset.o switch.o \
		   elf.o syscall.o signal.o time.o topology.o inst.o ptrace.o vdso.o \
		   alternative.o unwind.o
obj-y		+=  legacy_boot.o

obj-$(CONFIG_ACPI)		+= acpi.o
obj-$(CONFIG_EFI) 		+= efi.o
+6 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
#include <asm/io.h>
#include <asm/numa.h>
#include <asm/loongson.h>
#include "legacy_boot.h"

int acpi_disabled;
EXPORT_SYMBOL(acpi_disabled);
@@ -60,7 +61,7 @@ void __iomem *acpi_os_ioremap(acpi_physical_address phys, acpi_size size)
}

#ifdef CONFIG_SMP
static int set_processor_mask(u32 id, u32 flags)
int set_processor_mask(u32 id, u32 flags)
{

	int cpu, cpuid = id;
@@ -134,6 +135,10 @@ static void __init acpi_process_madt(void)
		__cpu_logical_map[i] = -1;
	}
#endif

	if (efi_bp && bpi_version <= BPI_VERSION_V1)
		legacy_madt_table_init();

	acpi_table_parse_madt(ACPI_MADT_TYPE_CORE_PIC,
			acpi_parse_processor, MAX_CORE_PIC);

+9 −3
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include <asm/tlb.h>
#include <asm/loongson.h>
#include <asm/pgalloc.h>
#include "legacy_boot.h"

static unsigned long efi_nr_tables;
static unsigned long efi_config_table;
@@ -172,6 +173,9 @@ static int __init set_virtual_map(void)
	efi_set_virtual_address_map_t *svam;
	efi_memory_desc_t *in, runtime_map[32];

	if (efi_bp)
		return EFI_SUCCESS;

	size = sizeof(efi_memory_desc_t);

	for_each_efi_memory_desc(in) {
@@ -254,10 +258,12 @@ void __init efi_init(void)
	void *config_tables;
	struct efi_boot_memmap *tbl;

	if (!efi_system_table)
		return;
	if (efi_system_table)
		efi_systab = (efi_system_table_t *)early_memremap_ro(efi_system_table,
						sizeof(*efi_systab));
	else
		efi_systab = (efi_system_table_t *)efi_bp->systemtable;

	efi_systab = (efi_system_table_t *)early_memremap_ro(efi_system_table, sizeof(*efi_systab));
	if (!efi_systab) {
		pr_err("Can't find EFI system table.\n");
		return;
Loading