diff --git a/anolis/configs/L0-MANDATORY/sw_64-6b/CONFIG_IGB b/anolis/configs/L0-MANDATORY/sw_64-6b/CONFIG_IGB new file mode 100644 index 0000000000000000000000000000000000000000..9d5329a8f4a8c73a03ecde688bf25dd25e3ae7b3 --- /dev/null +++ b/anolis/configs/L0-MANDATORY/sw_64-6b/CONFIG_IGB @@ -0,0 +1 @@ +CONFIG_IGB=y diff --git a/anolis/configs/L0-MANDATORY/sw_64-6b/CONFIG_KVM b/anolis/configs/L0-MANDATORY/sw_64-6b/CONFIG_KVM new file mode 100644 index 0000000000000000000000000000000000000000..14f90d8d68017cece2a4f6a6f033ce87abe4aaeb --- /dev/null +++ b/anolis/configs/L0-MANDATORY/sw_64-6b/CONFIG_KVM @@ -0,0 +1 @@ +CONFIG_KVM=y diff --git a/anolis/configs/L0-MANDATORY/sw_64-6b/CONFIG_VGA_CONSOLE b/anolis/configs/L0-MANDATORY/sw_64-6b/CONFIG_VGA_CONSOLE index 461d0b1d4e82f5c25b89bfa9f1d33a59a81dc9bd..5b00b2f22e80012630a73152e836f235beb1704e 100644 --- a/anolis/configs/L0-MANDATORY/sw_64-6b/CONFIG_VGA_CONSOLE +++ b/anolis/configs/L0-MANDATORY/sw_64-6b/CONFIG_VGA_CONSOLE @@ -1 +1 @@ -CONFIG_VGA_CONSOLE=y +# CONFIG_VGA_CONSOLE is not set diff --git a/anolis/configs/L0-MANDATORY/sw_64-8a/CONFIG_IGB b/anolis/configs/L0-MANDATORY/sw_64-8a/CONFIG_IGB new file mode 100644 index 0000000000000000000000000000000000000000..9d5329a8f4a8c73a03ecde688bf25dd25e3ae7b3 --- /dev/null +++ b/anolis/configs/L0-MANDATORY/sw_64-8a/CONFIG_IGB @@ -0,0 +1 @@ +CONFIG_IGB=y diff --git a/anolis/configs/L0-MANDATORY/sw_64-8a/CONFIG_KVM b/anolis/configs/L0-MANDATORY/sw_64-8a/CONFIG_KVM new file mode 100644 index 0000000000000000000000000000000000000000..14f90d8d68017cece2a4f6a6f033ce87abe4aaeb --- /dev/null +++ b/anolis/configs/L0-MANDATORY/sw_64-8a/CONFIG_KVM @@ -0,0 +1 @@ +CONFIG_KVM=y diff --git a/anolis/configs/L0-MANDATORY/sw_64-8a/CONFIG_NR_CPUS b/anolis/configs/L0-MANDATORY/sw_64-8a/CONFIG_NR_CPUS index fa1ab7e948414468bee950e76aa59b231575f10e..9ce2b2de6e75d49adca22f3434a79fafe5811402 100644 --- a/anolis/configs/L0-MANDATORY/sw_64-8a/CONFIG_NR_CPUS +++ b/anolis/configs/L0-MANDATORY/sw_64-8a/CONFIG_NR_CPUS @@ -1 +1 @@ -CONFIG_NR_CPUS=64 +CONFIG_NR_CPUS=512 diff --git a/anolis/configs/L0-MANDATORY/sw_64-8a/CONFIG_VGA_CONSOLE b/anolis/configs/L0-MANDATORY/sw_64-8a/CONFIG_VGA_CONSOLE index 461d0b1d4e82f5c25b89bfa9f1d33a59a81dc9bd..5b00b2f22e80012630a73152e836f235beb1704e 100644 --- a/anolis/configs/L0-MANDATORY/sw_64-8a/CONFIG_VGA_CONSOLE +++ b/anolis/configs/L0-MANDATORY/sw_64-8a/CONFIG_VGA_CONSOLE @@ -1 +1 @@ -CONFIG_VGA_CONSOLE=y +# CONFIG_VGA_CONSOLE is not set diff --git a/anolis/configs/L1-RECOMMEND/sw_64-6b/CONFIG_ATA b/anolis/configs/L1-RECOMMEND/sw_64-6b/CONFIG_ATA new file mode 100644 index 0000000000000000000000000000000000000000..76a102725bc83af19e53ba62ccbe96118c3813a1 --- /dev/null +++ b/anolis/configs/L1-RECOMMEND/sw_64-6b/CONFIG_ATA @@ -0,0 +1 @@ +CONFIG_ATA=y diff --git a/anolis/configs/L1-RECOMMEND/sw_64-6b/CONFIG_BLK_DEV_SD b/anolis/configs/L1-RECOMMEND/sw_64-6b/CONFIG_BLK_DEV_SD new file mode 100644 index 0000000000000000000000000000000000000000..e71b9a47a629e1a0e83491391a5c94d28e8a9ed3 --- /dev/null +++ b/anolis/configs/L1-RECOMMEND/sw_64-6b/CONFIG_BLK_DEV_SD @@ -0,0 +1 @@ +CONFIG_BLK_DEV_SD=y diff --git a/anolis/configs/L1-RECOMMEND/sw_64-6b/CONFIG_CHR_DEV_SG b/anolis/configs/L1-RECOMMEND/sw_64-6b/CONFIG_CHR_DEV_SG new file mode 100644 index 0000000000000000000000000000000000000000..18c2fc641a049e78b69e68a89b775e4035e642c0 --- /dev/null +++ b/anolis/configs/L1-RECOMMEND/sw_64-6b/CONFIG_CHR_DEV_SG @@ -0,0 +1 @@ +CONFIG_CHR_DEV_SG=y diff --git a/anolis/configs/L1-RECOMMEND/sw_64-6b/CONFIG_SATA_AHCI b/anolis/configs/L1-RECOMMEND/sw_64-6b/CONFIG_SATA_AHCI new file mode 100644 index 0000000000000000000000000000000000000000..3551035a143606cb61ca73273e3c45a765ceafc3 --- /dev/null +++ b/anolis/configs/L1-RECOMMEND/sw_64-6b/CONFIG_SATA_AHCI @@ -0,0 +1 @@ +CONFIG_SATA_AHCI=y diff --git a/anolis/configs/L1-RECOMMEND/sw_64-8a/CONFIG_ATA b/anolis/configs/L1-RECOMMEND/sw_64-8a/CONFIG_ATA new file mode 100644 index 0000000000000000000000000000000000000000..76a102725bc83af19e53ba62ccbe96118c3813a1 --- /dev/null +++ b/anolis/configs/L1-RECOMMEND/sw_64-8a/CONFIG_ATA @@ -0,0 +1 @@ +CONFIG_ATA=y diff --git a/anolis/configs/L1-RECOMMEND/sw_64-8a/CONFIG_BLK_DEV_SD b/anolis/configs/L1-RECOMMEND/sw_64-8a/CONFIG_BLK_DEV_SD new file mode 100644 index 0000000000000000000000000000000000000000..e71b9a47a629e1a0e83491391a5c94d28e8a9ed3 --- /dev/null +++ b/anolis/configs/L1-RECOMMEND/sw_64-8a/CONFIG_BLK_DEV_SD @@ -0,0 +1 @@ +CONFIG_BLK_DEV_SD=y diff --git a/anolis/configs/L1-RECOMMEND/sw_64-8a/CONFIG_CHR_DEV_SG b/anolis/configs/L1-RECOMMEND/sw_64-8a/CONFIG_CHR_DEV_SG new file mode 100644 index 0000000000000000000000000000000000000000..18c2fc641a049e78b69e68a89b775e4035e642c0 --- /dev/null +++ b/anolis/configs/L1-RECOMMEND/sw_64-8a/CONFIG_CHR_DEV_SG @@ -0,0 +1 @@ +CONFIG_CHR_DEV_SG=y diff --git a/anolis/configs/L1-RECOMMEND/sw_64-8a/CONFIG_SATA_AHCI b/anolis/configs/L1-RECOMMEND/sw_64-8a/CONFIG_SATA_AHCI new file mode 100644 index 0000000000000000000000000000000000000000..3551035a143606cb61ca73273e3c45a765ceafc3 --- /dev/null +++ b/anolis/configs/L1-RECOMMEND/sw_64-8a/CONFIG_SATA_AHCI @@ -0,0 +1 @@ +CONFIG_SATA_AHCI=y diff --git a/arch/sw_64/include/asm/pgtable.h b/arch/sw_64/include/asm/pgtable.h index 0ad6f12c32753ad796e3f06f7ffd1d7fe1cd79c9..0092d88c199f57d9c738475d24e533b5a86a14c5 100644 --- a/arch/sw_64/include/asm/pgtable.h +++ b/arch/sw_64/include/asm/pgtable.h @@ -78,7 +78,9 @@ static inline void set_p4d(p4d_t *p4dp, p4d_t p4d) /* Number of pointers that fit on a page: this will go away. */ #define PTRS_PER_PAGE (1UL << (PAGE_SHIFT - 3)) -#define VMALLOC_START (-2 * PGDIR_SIZE) +#define MODULES_VADDR 0xfffff00000000000 +#define MODULES_END 0xfffff0007fffffff +#define VMALLOC_START 0xfffff00080000000 #ifndef CONFIG_SPARSEMEM_VMEMMAP #define VMALLOC_END (-PGDIR_SIZE) #else diff --git a/arch/sw_64/kernel/module.c b/arch/sw_64/kernel/module.c index 67264e3644a75341b898b9419f2b89b7119c5981..fb7c61c1b481fb81ea1d78f53091c95e69b96558 100644 --- a/arch/sw_64/kernel/module.c +++ b/arch/sw_64/kernel/module.c @@ -1,6 +1,9 @@ // SPDX-License-Identifier: GPL-2.0 #include #include +#include +#include +#include #define DEBUGP(fmt...) @@ -277,3 +280,10 @@ apply_relocate_add(Elf64_Shdr *sechdrs, const char *strtab, return 0; } + +void *module_alloc(unsigned long size) +{ + return __vmalloc_node_range(size, 1, MODULES_VADDR, MODULES_END, + GFP_KERNEL, PAGE_KERNEL_EXEC, VM_FLUSH_RESET_PERMS, + NUMA_NO_NODE, __builtin_return_address(0)); +}