[PATCH 0/5] [GSoC - x86_64] Add interrupts and clock driver
Amaan Cheval
amaan.cheval at gmail.com
Mon Aug 13 11:27:19 UTC 2018
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
More information about the devel
mailing list