This patch series includes all of my remaining work so far on the x86_64 BSP. It supports:
* Static paging support using 1GiB superpages * RTEMS interrupts * A fairly accurate clock driver based on the APIC timer calibrated by the PIT ticker.exe passes reliably on -O0 optimization level, and it seems like it _should_ on -O2 as well, except for the issue I've been describing on this thread: https://lists.rtems.org/pipermail/devel/2018-August/022825.html bsps/x86_64/amd64/clock/clock.c | 299 ++++++++++++++++++ bsps/x86_64/amd64/config/amd64.cfg | 3 + bsps/x86_64/amd64/headers.am | 3 + bsps/x86_64/amd64/include/apic.h | 62 ++++ bsps/x86_64/amd64/include/clock.h | 99 ++++++ bsps/x86_64/amd64/include/pic.h | 75 +++++ bsps/x86_64/amd64/interrupts/idt.c | 151 +++++++++ bsps/x86_64/amd64/interrupts/isr_handler.S | 191 +++++++++++ bsps/x86_64/amd64/interrupts/pic.c | 76 +++++ bsps/x86_64/amd64/start/bspstart.c | 4 + bsps/x86_64/amd64/start/linkcmds | 6 +- bsps/x86_64/amd64/start/page.c | 172 ++++++++++ bsps/x86_64/headers.am | 9 + bsps/x86_64/include/bsp/irq.h | 46 +++ bsps/x86_64/include/libcpu/page.h | 68 ++++ c/src/lib/libbsp/x86_64/amd64/Makefile.am | 9 +- cpukit/score/cpu/x86_64/cpu.c | 17 +- cpukit/score/cpu/x86_64/headers.am | 2 + cpukit/score/cpu/x86_64/include/rtems/asm.h | 10 + .../cpu/x86_64/include/rtems/score/cpu.h | 112 +++++-- .../cpu/x86_64/include/rtems/score/cpu_asm.h | 104 ++++++ .../cpu/x86_64/include/rtems/score/cpuimpl.h | 16 +- .../cpu/x86_64/include/rtems/score/idt.h | 131 ++++++++ .../cpu/x86_64/include/rtems/score/x86_64.h | 13 +- .../cpu/x86_64/x86_64-context-initialize.c | 9 +- .../score/cpu/x86_64/x86_64-context-switch.S | 8 +- 26 files changed, 1636 insertions(+), 59 deletions(-) create mode 100644 bsps/x86_64/amd64/clock/clock.c create mode 100644 bsps/x86_64/amd64/include/apic.h create mode 100644 bsps/x86_64/amd64/include/clock.h create mode 100644 bsps/x86_64/amd64/include/pic.h create mode 100644 bsps/x86_64/amd64/interrupts/idt.c create mode 100644 bsps/x86_64/amd64/interrupts/isr_handler.S create mode 100644 bsps/x86_64/amd64/interrupts/pic.c create mode 100644 bsps/x86_64/amd64/start/page.c create mode 100644 bsps/x86_64/headers.am create mode 100644 bsps/x86_64/include/bsp/irq.h create mode 100644 bsps/x86_64/include/libcpu/page.h create mode 100644 cpukit/score/cpu/x86_64/include/rtems/score/cpu_asm.h create mode 100644 cpukit/score/cpu/x86_64/include/rtems/score/idt.h -- 2.18.0 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel