A lightweight, predictable and dependable kernel for multicore processors
Downloads
- The Quest source code can be obtained from github
- If you clone the repo using git, you can checkout the latest
branch (intel_branch).
- Please send email to Rich West if you have any questions about
the code. We work with private branches before committing
changes to the public repo.
Reference Development Platform
- While Quest will work on most x86 platforms with the right
driver support, the hardware virtualization capabilities
currently used for enhanced system safety require Intel
processors with the following hardware flags (as reported
under Linux via /proc/cpuinfo): vmx, ept, mtrr. Given our
manpower resources, we have focused on Intel
hardware-virtualization but AMD support wil be added in the
future. This means you will need a multicore processor such
as a Sandybridge, with extended page tables and memory type
range registers.
- To boot Quest we recommend using a motherboard with a
PXE-compliant BIOS for network boots. Similarly, a
motherboard with a built-in serial device (16550A-compatible
UART or a PCI/PCIe slotcard) is recommended for serial
debugging.
- The following is a recommended base system:
- Intel "Sandybridge" Core i3 2100 LGA 1155 3.1 GHz processor (alternatively, i5, i7 will do)
- LGA 1155 motherboard. A Gigabyte GA-H67N-USB3-B3 mini-ITX board is quite nice if you desire a small form-factor. The ASRock Pro3-M mATX is slightly larger but another excellent board.
- NOTE: For the motherboard, it is desirable to have either the Z68 or H67 Intel chipset. These chipsets both support integrated graphics on the Core i3/i5/i7 CPUs. You also want a motherboard with a Realtek 8168/8111E integrated network chip. It is desirable but not required to have an RS232 serial header on the board, as well as PS/2 keyboard connectivity and a traditional PCI slot. The ASRock board above has all this, but is hard to find. The Gigabyte board is a mini-ITX small form-factor board. It lacks the serial header and PS/2 but this is not critical if you get a serial PCI-express card.
- RECOMMENDED BUILD 1:
- Intel Core i3 2100 LGA 1155 3.1GHz Processor
- ASRock Z68 Pro3-M mATX Motherboard
- 2x2GB Corsair DDR3-1333 Memory
- Serial DB-9 header connector (provides serial cable interface to back of case, and plugs into motherboard)
- PS/2 or USB keyboard
- Any mATX case with 200W+ power supply
- CAT5 Ethernet cable to connect to another development machine
- DB9 Serial cable to connect to another development machine
- RECOMMENDED BUILD 2:
- Intel Core i3 2100 LGA 1155 3.1GHz Processor
- Gigabyte GA-H67N-USB3-B3 LGA 1155 H67 mini ITX Intel Motherboard
- 2x2GB Corsair DDR3-1333 Memory
- Syba 1-port DB-9 Serial (RS-232) PCI-e Controller Card, Moschip 9820 Chipset
- USB keyboard
- Thermaltake Element Q case/power supply, or similar
- Ethernet cable to connect to another development machine
- DB9 Serial cable to connect to another development machine
- NOTE: We have discovered a problem with the BIOS memory mapping on ASRock Z68 motherboards that make it challenging to establish a Quest multi- or separation kernel configuration. For some strange reason, the BIOS reserves 2MB memory blocks at 512MB at 1GB. We are able to map around these reserved memory regions but you might be better off using a Gigabyte motherboard if you wish to configure Quest-V or Quest-Linux.
- VMware Workstation and Fusion (not the free VMPlayer) now
support nested virtual machines. It is possible to manage a
guest system that directly accesses hardware features such
as Intel VT-x and EPT capabilities. This now makes it
possible to run Quest-V and Quest-Linux systems using VMware
Workstation (on PCs) or Fusion (on Macs) as long as the
underlying physical processor supports VMX/EPT. For a
Quest-Linux system, the processor must also support unrestricted
guests, meaning that it is possible to switch between
real- and protected mode without requiring VM8086 support.
From our experience, it seems most Intel Core processors
from Westmere onwards (including Sandy Bridge, Ivy Bridge
and Haswell) should work with Quest-Linux.