mirror of
https://github.com/torvalds/linux
synced 2024-10-06 19:34:19 +00:00
LoongArch fixes for v6.10-rc3
-----BEGIN PGP SIGNATURE----- iQJKBAABCAA0FiEEzOlt8mkP+tbeiYy5AoYrw/LiJnoFAmZd0NgWHGNoZW5odWFj YWlAa2VybmVsLm9yZwAKCRAChivD8uImekEIEACdE6NqRAUc/eR6doVc9oLir8lX dAA5gxwGL6nRZ0tUKBcgHmcUp9oZhEs+Q8EOw9OZ2Hn74d3PrZTPO8tNGiq18t6m 1c01zasRvt1ODCR35a/dlCBNdIX4h+Q3LUilzG8LuH8d72wsKIz5A/cruVh55pV1 EGWEZ+MeMo451/6uitREJj7jqh2Av6IfspCj+VDSD7rdafmD79w9EOxAPwTIK08m oGWUqw+0WmQdqCR+3pjMVyyA4kVMofCT4TR1KhtWe3jspsNdHh0WHxEG7AIVGXUQ YvryvucZop6vBEJkM09CH2ORwAwCXnuESdOIp54bqpY1IfNRdMwhJChb1o1bk3GQ dCOMU52sT0AJ/7leyfTR5ANc3m/A4JbtkUypQc8vF8LeHK01mcWe8yJRPu6X+yRD endaFhwRM+fjKsaEaJthK7sL5YhIs3+c8rxoOqL2rS2oR19KkPn2k8Na15JhgTwA 5/QxQJqxjA9X4EyMYSDM+ZIx3pL/xpqeHzzIup79Tfusqzl6DuURiylKZiOmNvCq NINZOUsBDZmUSGEdMDrDLCQa4M+vWBKCBIzsGtt6R4Dqx6jDKl2UzKjqVIxTVO52 uSvJMNb2bF5UFYG9Q/CX9a4PcpAj5/qcvYdzOOT+Fbz+yZ9lK0fG2XqEaVRuK/k+ JYejrgfvanwK6RnAjQ== =MtB4 -----END PGP SIGNATURE----- Merge tag 'loongarch-fixes-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson Pull LoongArch fixes from Huacai Chen: "Some bootloader interface fixes, a dts fix, and a trivial cleanup" * tag 'loongarch-fixes-6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson: LoongArch: Fix GMAC's phy-mode definitions in dts LoongArch: Override higher address bits in JUMP_VIRT_ADDR LoongArch: Fix entry point in kernel image header LoongArch: Add all CPUs enabled by fdt to NUMA node 0 LoongArch: Fix built-in DTB detection LoongArch: Remove CONFIG_ACPI_TABLE_UPGRADE in platform_init()
This commit is contained in:
commit
f06ce44145
|
@ -44,14 +44,14 @@ linux,cma {
|
|||
&gmac0 {
|
||||
status = "okay";
|
||||
|
||||
phy-mode = "rgmii";
|
||||
phy-mode = "rgmii-id";
|
||||
bus_id = <0x0>;
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
status = "okay";
|
||||
|
||||
phy-mode = "rgmii";
|
||||
phy-mode = "rgmii-id";
|
||||
bus_id = <0x1>;
|
||||
};
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ linux,cma {
|
|||
&gmac0 {
|
||||
status = "okay";
|
||||
|
||||
phy-mode = "rgmii";
|
||||
phy-mode = "rgmii-id";
|
||||
phy-handle = <&phy0>;
|
||||
mdio {
|
||||
compatible = "snps,dwmac-mdio";
|
||||
|
@ -58,7 +58,7 @@ phy0: ethernet-phy@0 {
|
|||
&gmac1 {
|
||||
status = "okay";
|
||||
|
||||
phy-mode = "rgmii";
|
||||
phy-mode = "rgmii-id";
|
||||
phy-handle = <&phy1>;
|
||||
mdio {
|
||||
compatible = "snps,dwmac-mdio";
|
||||
|
|
|
@ -92,7 +92,7 @@ phy1: ethernet-phy@1 {
|
|||
&gmac2 {
|
||||
status = "okay";
|
||||
|
||||
phy-mode = "rgmii";
|
||||
phy-mode = "rgmii-id";
|
||||
phy-handle = <&phy2>;
|
||||
mdio {
|
||||
compatible = "snps,dwmac-mdio";
|
||||
|
|
|
@ -56,6 +56,7 @@ extern int early_cpu_to_node(int cpu);
|
|||
static inline void early_numa_add_cpu(int cpuid, s16 node) { }
|
||||
static inline void numa_add_cpu(unsigned int cpu) { }
|
||||
static inline void numa_remove_cpu(unsigned int cpu) { }
|
||||
static inline void set_cpuid_to_node(int cpuid, s16 node) { }
|
||||
|
||||
static inline int early_cpu_to_node(int cpu)
|
||||
{
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
.macro JUMP_VIRT_ADDR temp1 temp2
|
||||
li.d \temp1, CACHE_BASE
|
||||
pcaddi \temp2, 0
|
||||
or \temp1, \temp1, \temp2
|
||||
bstrins.d \temp1, \temp2, (DMW_PABITS - 1), 0
|
||||
jirl zero, \temp1, 0xc
|
||||
.endm
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
_head:
|
||||
.word MZ_MAGIC /* "MZ", MS-DOS header */
|
||||
.org 0x8
|
||||
.dword kernel_entry /* Kernel entry point */
|
||||
.dword _kernel_entry /* Kernel entry point (physical address) */
|
||||
.dword _kernel_asize /* Kernel image effective size */
|
||||
.quad PHYS_LINK_KADDR /* Kernel image load offset from start of RAM */
|
||||
.org 0x38 /* 0x20 ~ 0x37 reserved */
|
||||
|
|
|
@ -282,7 +282,7 @@ static void __init fdt_setup(void)
|
|||
return;
|
||||
|
||||
/* Prefer to use built-in dtb, checking its legality first. */
|
||||
if (!fdt_check_header(__dtb_start))
|
||||
if (IS_ENABLED(CONFIG_BUILTIN_DTB) && !fdt_check_header(__dtb_start))
|
||||
fdt_pointer = __dtb_start;
|
||||
else
|
||||
fdt_pointer = efi_fdt_pointer(); /* Fallback to firmware dtb */
|
||||
|
@ -351,10 +351,8 @@ void __init platform_init(void)
|
|||
arch_reserve_vmcore();
|
||||
arch_reserve_crashkernel();
|
||||
|
||||
#ifdef CONFIG_ACPI_TABLE_UPGRADE
|
||||
acpi_table_upgrade();
|
||||
#endif
|
||||
#ifdef CONFIG_ACPI
|
||||
acpi_table_upgrade();
|
||||
acpi_gbl_use_default_register_widths = false;
|
||||
acpi_boot_table_init();
|
||||
#endif
|
||||
|
|
|
@ -273,7 +273,6 @@ static void __init fdt_smp_setup(void)
|
|||
|
||||
if (cpuid == loongson_sysconf.boot_cpu_id) {
|
||||
cpu = 0;
|
||||
numa_add_cpu(cpu);
|
||||
} else {
|
||||
cpu = cpumask_next_zero(-1, cpu_present_mask);
|
||||
}
|
||||
|
@ -283,6 +282,9 @@ static void __init fdt_smp_setup(void)
|
|||
set_cpu_present(cpu, true);
|
||||
__cpu_number_map[cpuid] = cpu;
|
||||
__cpu_logical_map[cpu] = cpuid;
|
||||
|
||||
early_numa_add_cpu(cpu, 0);
|
||||
set_cpuid_to_node(cpuid, 0);
|
||||
}
|
||||
|
||||
loongson_sysconf.nr_cpus = num_processors;
|
||||
|
@ -468,6 +470,7 @@ void smp_prepare_boot_cpu(void)
|
|||
set_cpu_possible(0, true);
|
||||
set_cpu_online(0, true);
|
||||
set_my_cpu_offset(per_cpu_offset(0));
|
||||
numa_add_cpu(0);
|
||||
|
||||
rr_node = first_node(node_online_map);
|
||||
for_each_possible_cpu(cpu) {
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#define PAGE_SIZE _PAGE_SIZE
|
||||
#define RO_EXCEPTION_TABLE_ALIGN 4
|
||||
#define PHYSADDR_MASK 0xffffffffffff /* 48-bit */
|
||||
|
||||
/*
|
||||
* Put .bss..swapper_pg_dir as the first thing in .bss. This will
|
||||
|
@ -142,10 +143,11 @@ SECTIONS
|
|||
|
||||
#ifdef CONFIG_EFI_STUB
|
||||
/* header symbols */
|
||||
_kernel_asize = _end - _text;
|
||||
_kernel_fsize = _edata - _text;
|
||||
_kernel_vsize = _end - __initdata_begin;
|
||||
_kernel_rsize = _edata - __initdata_begin;
|
||||
_kernel_entry = ABSOLUTE(kernel_entry & PHYSADDR_MASK);
|
||||
_kernel_asize = ABSOLUTE(_end - _text);
|
||||
_kernel_fsize = ABSOLUTE(_edata - _text);
|
||||
_kernel_vsize = ABSOLUTE(_end - __initdata_begin);
|
||||
_kernel_rsize = ABSOLUTE(_edata - __initdata_begin);
|
||||
#endif
|
||||
|
||||
.gptab.sdata : {
|
||||
|
|
|
@ -41,7 +41,7 @@ static efi_status_t exit_boot_func(struct efi_boot_memmap *map, void *priv)
|
|||
unsigned long __weak kernel_entry_address(unsigned long kernel_addr,
|
||||
efi_loaded_image_t *image)
|
||||
{
|
||||
return *(unsigned long *)(kernel_addr + 8) - VMLINUX_LOAD_ADDRESS + kernel_addr;
|
||||
return *(unsigned long *)(kernel_addr + 8) - PHYSADDR(VMLINUX_LOAD_ADDRESS) + kernel_addr;
|
||||
}
|
||||
|
||||
efi_status_t efi_boot_kernel(void *handle, efi_loaded_image_t *image,
|
||||
|
|
Loading…
Reference in a new issue