[PATCH 0/2] [GSoC - x86_64] Minimal BSP patch

Amaan Cheval amaan.cheval at gmail.com
Mon Jul 9 11:12:55 UTC 2018


This patchset is also available on Github as a pull-request for anyone who would
rather review it there (personally that's what I'd prefer):

  https://github.com/AmaanC/rtems-gsoc18/pull/2

For posterity, my concerns (also listed in the PR description) are:

- The use of '-mcmodel=large' in 'amd64.cfg'

- The lack of of 'LDFLAGS = -Wl,--gc-sections' in 'amd64.cfg' (see
    https://github.com/AmaanC/rtems-gsoc18/commit/153c1c7addec6f95ee15505c1de17220b8257ecb
  for why)

- The folder structure and filenames (where do we use 'console/console.c',
  vs. just 'console.c'? Where do we place files that _may_ be shared for other
  BSPs in the same computer family (for eg. 'x86_64/amd64/include/start.h')?)

- 'XXX' comments in code - I'm not sure if all of them should be upstream, and
  would appreciate someone keeping an eye out for any that may be out of place
  or should simply be tickets on Trac instead

- The way 'x86_64-context-switch.S' works directly on the 'Context_Control'
  structure (Ctrl+F 'CPU_SIZEOF_POINTER')

Amaan Cheval (2):
  bsp/x86_64: Minimal bootable BSP
  x86_64/console: Add NS16550 polled console driver

 bsps/x86_64/amd64/config/amd64.cfg                 |  13 +
 bsps/x86_64/amd64/console/console.c                |  72 +++++
 bsps/x86_64/amd64/headers.am                       |   7 +
 bsps/x86_64/amd64/include/bsp.h                    |  51 +++
 bsps/x86_64/amd64/include/start.h                  |  47 +++
 bsps/x86_64/amd64/include/tm27.h                   |   1 +
 bsps/x86_64/amd64/start/bsp_specs                  |   9 +
 bsps/x86_64/amd64/start/bspstart.c                 |  32 ++
 bsps/x86_64/amd64/start/linkcmds                   | 281 ++++++++++++++++
 bsps/x86_64/amd64/start/start.c                    |  36 +++
 c/src/aclocal/rtems-cpu-subdirs.m4                 |   1 +
 c/src/lib/libbsp/x86_64/Makefile.am                |   7 +
 c/src/lib/libbsp/x86_64/acinclude.m4               |  10 +
 c/src/lib/libbsp/x86_64/amd64/Makefile.am          |  42 +++
 c/src/lib/libbsp/x86_64/amd64/configure.ac         |  19 ++
 c/src/lib/libbsp/x86_64/configure.ac               |  20 ++
 cpukit/configure.ac                                |   1 +
 cpukit/librpc/src/xdr/xdr_float.c                  |   3 +-
 cpukit/score/cpu/x86_64/Makefile.am                |  12 +
 cpukit/score/cpu/x86_64/cpu.c                      |  83 +++++
 cpukit/score/cpu/x86_64/headers.am                 |  16 +
 .../score/cpu/x86_64/include/machine/elf_machdep.h |   4 +
 cpukit/score/cpu/x86_64/include/rtems/asm.h        | 134 ++++++++
 cpukit/score/cpu/x86_64/include/rtems/score/cpu.h  | 359 +++++++++++++++++++++
 .../cpu/x86_64/include/rtems/score/cpuatomic.h     |  14 +
 .../score/cpu/x86_64/include/rtems/score/cpuimpl.h |  51 +++
 .../score/cpu/x86_64/include/rtems/score/x86_64.h  |  44 +++
 .../score/cpu/x86_64/x86_64-context-initialize.c   |  95 ++++++
 cpukit/score/cpu/x86_64/x86_64-context-switch.S    |  98 ++++++
 29 files changed, 1561 insertions(+), 1 deletion(-)
 create mode 100644 bsps/x86_64/amd64/config/amd64.cfg
 create mode 100644 bsps/x86_64/amd64/console/console.c
 create mode 100644 bsps/x86_64/amd64/headers.am
 create mode 100644 bsps/x86_64/amd64/include/bsp.h
 create mode 100644 bsps/x86_64/amd64/include/start.h
 create mode 100644 bsps/x86_64/amd64/include/tm27.h
 create mode 100644 bsps/x86_64/amd64/start/bsp_specs
 create mode 100644 bsps/x86_64/amd64/start/bspstart.c
 create mode 100644 bsps/x86_64/amd64/start/linkcmds
 create mode 100644 bsps/x86_64/amd64/start/start.c
 create mode 100644 c/src/lib/libbsp/x86_64/Makefile.am
 create mode 100644 c/src/lib/libbsp/x86_64/acinclude.m4
 create mode 100644 c/src/lib/libbsp/x86_64/amd64/Makefile.am
 create mode 100644 c/src/lib/libbsp/x86_64/amd64/configure.ac
 create mode 100644 c/src/lib/libbsp/x86_64/configure.ac
 create mode 100644 cpukit/score/cpu/x86_64/Makefile.am
 create mode 100644 cpukit/score/cpu/x86_64/cpu.c
 create mode 100644 cpukit/score/cpu/x86_64/headers.am
 create mode 100644 cpukit/score/cpu/x86_64/include/machine/elf_machdep.h
 create mode 100644 cpukit/score/cpu/x86_64/include/rtems/asm.h
 create mode 100644 cpukit/score/cpu/x86_64/include/rtems/score/cpu.h
 create mode 100644 cpukit/score/cpu/x86_64/include/rtems/score/cpuatomic.h
 create mode 100644 cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h
 create mode 100644 cpukit/score/cpu/x86_64/include/rtems/score/x86_64.h
 create mode 100644 cpukit/score/cpu/x86_64/x86_64-context-initialize.c
 create mode 100644 cpukit/score/cpu/x86_64/x86_64-context-switch.S

-- 
2.15.0



More information about the devel mailing list