[PATCH 0/7] i386 paravirtualization

Gedare Bloom gedare at rtems.org
Mon Feb 15 19:05:37 UTC 2016


These patches prepare i386 for paravirtualization by moving
privileged and sensitive instructions into the BSP. The pc386
should operate as before, and no BSP is currently being
provided for any particular hypervisor. We attempted to make
the i386 similar to the paravirtualized sparc. Note that
a paravirtualized i386 BSP still requires additional changes
to newlib to deal with the use of cli/sti in longjmp, but
otherwise should work if the BSP itself avoids privileged
and sensitive instructions.

Gedare Bloom (4):
  i386: move idle thread into BSP layer
  i386: remove redundant CPP defines
  i386: relocate fatal halt to bsp layer
  i386: prepare for paravirtualized interrupts

Joel Sherrill (3):
  version.c: Add space so printing is neater
  i386 ..score/cpu.h: Fix spacing
  i386: refactor libcpu/cpu.h into rtems/score/i386.h

 c/src/lib/libbsp/i386/pc386/Makefile.am            |   2 +
 c/src/lib/libbsp/i386/pc386/include/bsp.h          |   5 +-
 .../lib/libbsp/i386/pc386/startup/bsp_fatal_halt.c |  19 +
 c/src/lib/libbsp/i386/pc386/startup/bspidle.S      |  19 +
 c/src/lib/libbsp/i386/shared/irq/idt.c             |   2 +-
 c/src/lib/libbsp/i386/shared/irq/irq_init.c        |   2 +-
 .../libbsp/i386/shared/realmode_int/realmode_int.h |   2 +-
 c/src/lib/libbsp/i386/shared/smp/smp-imps.c        |   2 +-
 c/src/lib/libcpu/i386/Makefile.am                  |   4 +-
 c/src/lib/libcpu/i386/cache.c                      |   4 +-
 c/src/lib/libcpu/i386/cpu.h                        | 475 ---------------------
 c/src/lib/libcpu/i386/displayCpu.c                 |   2 +-
 c/src/lib/libcpu/i386/page.c                       |   3 +-
 c/src/lib/libcpu/i386/page.h                       |  39 ++
 c/src/lib/libcpu/i386/preinstall.am                |   6 +-
 c/src/support/version.c                            |   2 +-
 cpukit/score/cpu/i386/cpu.c                        |  12 +-
 cpukit/score/cpu/i386/rtems/score/cpu.h            |  25 +-
 cpukit/score/cpu/i386/rtems/score/i386.h           | 437 ++++++++++++++++++-
 cpukit/score/cpu/i386/rtems/score/interrupts.h     |  12 +-
 20 files changed, 543 insertions(+), 531 deletions(-)
 create mode 100644 c/src/lib/libbsp/i386/pc386/startup/bsp_fatal_halt.c
 create mode 100644 c/src/lib/libbsp/i386/pc386/startup/bspidle.S
 delete mode 100644 c/src/lib/libcpu/i386/cpu.h
 create mode 100644 c/src/lib/libcpu/i386/page.h

-- 
1.9.1



More information about the devel mailing list