extend to 64 cores for AMD SMP systems

Change-Id: Ifa96ecaa60e3e9d5679d7d89af4a9148603d07cf
This commit is contained in:
2015-07-15 17:03:16 +02:00
committed by Lionel Sambuc
parent b0eaaeda2b
commit ef3427454e
3 changed files with 169 additions and 1 deletions

View File

@@ -64,6 +64,62 @@ void ipc_entry_syscall_cpu4(void);
void ipc_entry_syscall_cpu5(void);
void ipc_entry_syscall_cpu6(void);
void ipc_entry_syscall_cpu7(void);
void ipc_entry_syscall_cpu8(void);
void ipc_entry_syscall_cpu9(void);
void ipc_entry_syscall_cpu10(void);
void ipc_entry_syscall_cpu11(void);
void ipc_entry_syscall_cpu12(void);
void ipc_entry_syscall_cpu13(void);
void ipc_entry_syscall_cpu14(void);
void ipc_entry_syscall_cpu15(void);
void ipc_entry_syscall_cpu16(void);
void ipc_entry_syscall_cpu17(void);
void ipc_entry_syscall_cpu18(void);
void ipc_entry_syscall_cpu19(void);
void ipc_entry_syscall_cpu20(void);
void ipc_entry_syscall_cpu21(void);
void ipc_entry_syscall_cpu22(void);
void ipc_entry_syscall_cpu23(void);
void ipc_entry_syscall_cpu24(void);
void ipc_entry_syscall_cpu25(void);
void ipc_entry_syscall_cpu26(void);
void ipc_entry_syscall_cpu27(void);
void ipc_entry_syscall_cpu28(void);
void ipc_entry_syscall_cpu29(void);
void ipc_entry_syscall_cpu30(void);
void ipc_entry_syscall_cpu31(void);
void ipc_entry_syscall_cpu32(void);
void ipc_entry_syscall_cpu33(void);
void ipc_entry_syscall_cpu34(void);
void ipc_entry_syscall_cpu35(void);
void ipc_entry_syscall_cpu36(void);
void ipc_entry_syscall_cpu37(void);
void ipc_entry_syscall_cpu38(void);
void ipc_entry_syscall_cpu39(void);
void ipc_entry_syscall_cpu40(void);
void ipc_entry_syscall_cpu41(void);
void ipc_entry_syscall_cpu42(void);
void ipc_entry_syscall_cpu43(void);
void ipc_entry_syscall_cpu44(void);
void ipc_entry_syscall_cpu45(void);
void ipc_entry_syscall_cpu46(void);
void ipc_entry_syscall_cpu47(void);
void ipc_entry_syscall_cpu48(void);
void ipc_entry_syscall_cpu49(void);
void ipc_entry_syscall_cpu50(void);
void ipc_entry_syscall_cpu51(void);
void ipc_entry_syscall_cpu52(void);
void ipc_entry_syscall_cpu53(void);
void ipc_entry_syscall_cpu54(void);
void ipc_entry_syscall_cpu55(void);
void ipc_entry_syscall_cpu56(void);
void ipc_entry_syscall_cpu57(void);
void ipc_entry_syscall_cpu58(void);
void ipc_entry_syscall_cpu59(void);
void ipc_entry_syscall_cpu60(void);
void ipc_entry_syscall_cpu61(void);
void ipc_entry_syscall_cpu62(void);
void ipc_entry_syscall_cpu63(void);
void kernel_call_entry_orig(void);
void kernel_call_entry_um(void);
void level0_call(void);

View File

@@ -216,6 +216,62 @@ ipc_entry_syscall_percpu(4)
ipc_entry_syscall_percpu(5)
ipc_entry_syscall_percpu(6)
ipc_entry_syscall_percpu(7)
ipc_entry_syscall_percpu(8)
ipc_entry_syscall_percpu(9)
ipc_entry_syscall_percpu(10)
ipc_entry_syscall_percpu(11)
ipc_entry_syscall_percpu(12)
ipc_entry_syscall_percpu(13)
ipc_entry_syscall_percpu(14)
ipc_entry_syscall_percpu(15)
ipc_entry_syscall_percpu(16)
ipc_entry_syscall_percpu(17)
ipc_entry_syscall_percpu(18)
ipc_entry_syscall_percpu(19)
ipc_entry_syscall_percpu(20)
ipc_entry_syscall_percpu(21)
ipc_entry_syscall_percpu(22)
ipc_entry_syscall_percpu(23)
ipc_entry_syscall_percpu(24)
ipc_entry_syscall_percpu(25)
ipc_entry_syscall_percpu(26)
ipc_entry_syscall_percpu(27)
ipc_entry_syscall_percpu(28)
ipc_entry_syscall_percpu(29)
ipc_entry_syscall_percpu(30)
ipc_entry_syscall_percpu(31)
ipc_entry_syscall_percpu(32)
ipc_entry_syscall_percpu(33)
ipc_entry_syscall_percpu(34)
ipc_entry_syscall_percpu(35)
ipc_entry_syscall_percpu(36)
ipc_entry_syscall_percpu(37)
ipc_entry_syscall_percpu(38)
ipc_entry_syscall_percpu(39)
ipc_entry_syscall_percpu(40)
ipc_entry_syscall_percpu(41)
ipc_entry_syscall_percpu(42)
ipc_entry_syscall_percpu(43)
ipc_entry_syscall_percpu(44)
ipc_entry_syscall_percpu(45)
ipc_entry_syscall_percpu(46)
ipc_entry_syscall_percpu(47)
ipc_entry_syscall_percpu(48)
ipc_entry_syscall_percpu(49)
ipc_entry_syscall_percpu(50)
ipc_entry_syscall_percpu(51)
ipc_entry_syscall_percpu(52)
ipc_entry_syscall_percpu(53)
ipc_entry_syscall_percpu(54)
ipc_entry_syscall_percpu(55)
ipc_entry_syscall_percpu(56)
ipc_entry_syscall_percpu(57)
ipc_entry_syscall_percpu(58)
ipc_entry_syscall_percpu(59)
ipc_entry_syscall_percpu(60)
ipc_entry_syscall_percpu(61)
ipc_entry_syscall_percpu(62)
ipc_entry_syscall_percpu(63)
ENTRY(ipc_entry_sysenter)
/* SYSENTER simply sets kernel segments, EIP to here, and ESP

View File

@@ -211,7 +211,63 @@ int tss_init(unsigned cpu, void * kernel_stack)
set_star_cpu(5);
set_star_cpu(6);
set_star_cpu(7);
assert(CONFIG_MAX_CPUS <= 8);
set_star_cpu(8);
set_star_cpu(9);
set_star_cpu(10);
set_star_cpu(11);
set_star_cpu(12);
set_star_cpu(13);
set_star_cpu(14);
set_star_cpu(15);
set_star_cpu(16);
set_star_cpu(17);
set_star_cpu(18);
set_star_cpu(19);
set_star_cpu(20);
set_star_cpu(21);
set_star_cpu(22);
set_star_cpu(23);
set_star_cpu(24);
set_star_cpu(25);
set_star_cpu(26);
set_star_cpu(27);
set_star_cpu(28);
set_star_cpu(29);
set_star_cpu(30);
set_star_cpu(31);
set_star_cpu(32);
set_star_cpu(33);
set_star_cpu(34);
set_star_cpu(35);
set_star_cpu(36);
set_star_cpu(37);
set_star_cpu(38);
set_star_cpu(39);
set_star_cpu(40);
set_star_cpu(41);
set_star_cpu(42);
set_star_cpu(43);
set_star_cpu(44);
set_star_cpu(45);
set_star_cpu(46);
set_star_cpu(47);
set_star_cpu(48);
set_star_cpu(49);
set_star_cpu(50);
set_star_cpu(51);
set_star_cpu(52);
set_star_cpu(53);
set_star_cpu(54);
set_star_cpu(55);
set_star_cpu(56);
set_star_cpu(57);
set_star_cpu(58);
set_star_cpu(59);
set_star_cpu(60);
set_star_cpu(61);
set_star_cpu(62);
set_star_cpu(63);
assert(CONFIG_MAX_CPUS <= 64);
}
return SEG_SELECTOR(index);