[PATCH 0/5] [GSoC - x86_64] Add interrupts and clock driver

Joel Sherrill joel at rtems.org
Mon Aug 13 14:20:41 UTC 2018


Unless someone sees a reason to delay merging this, I plan to merge it
today.
It is new and should have no impact on anything else. Patches to improve
style, etc. can be followups.

--joel

On Mon, Aug 13, 2018 at 6:27 AM, Amaan Cheval <amaan.cheval at gmail.com>
wrote:

> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20180813/63ab477e/attachment.html>


More information about the devel mailing list