Per-cpu IDT patch
s ymgch <[email protected]> Fri, 3 Jul 2020 14:11:43 +0900
| Newsgroups | gmane.os.netbsd.ports.x86-64,gmane.os.netbsd.ports.i386 |
|---|---|
| Message-ID | <CAPnD6HpOJ6KcHmfWysLg17Z7vPQzA6iUbAJAB+EWS+=zEB6fyg@mail.gmail.com> |
Hi all, I tried to make an IDT per-cpu. The patch is here: http://www.netbsd.org/~yamaguchi/pcpu-idt.patch The summary of modifications is as follows. - Add an IDT pointer and idt_allocmap into struct cpu_info - Change prototype of cpu_init_idt() - void => struct cpu_info* - for loading an IDT address in struct cpu_info* - Copy a part of IDT entries from cpu 0 at attaching a CPU - for the same entries, for example, exceptions, db, etc. This function can be enabled by PCPU_IDT option that is newly provided. Does this patch look good? Please let me know if you have any comments about this.