History log of /seL4-refos-master/kernel/src/arch/x86/kernel/boot.c
Revision Date Author Comments
# 79da0792 01-Mar-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

Convert license tags to SPDX identifiers

This commit also converts our own copyright headers to directly use
SPDX, but leaves all other copyright header intact, only adding the
SPDX ident. As far as possible this commit also merges multiple
Data61 copyright statements/headers into one for consistency.


# 53539955 13-Dec-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

boot: Use extra_bi_size_bits for vreg size calc

The bootinfo extra size region is rounded up to a power of 2 size before
being mapped into the initial threads address space. This wasn't being
handled correctly which lead to a situation where if the bootinfo
finishes on the last address of a page table but the extra region size
is not a power of 2 size then there won't be a page directory allocated
where one needs to be and the kernel would crash.


# b5c56244 07-Oct-2019 Simon Shields <simon.shields@data61.csiro.au>

Create device untypeds at boot for all arches

Currently on x86 device untypeds are generated by passing the entire
address space minus any parts that are reserved by the kernel or that
are "real" memory (e.g. kernel image, physical RAM).

On ARM and RISC-V, device untypeds were generated at compile-time from
a device tree. This patch moves ARM and RISC-V to use the same approach
as x86, and moves the code from x86 into a common location that's
shared between the three architectures.

Co-Authored-By: Anna Lyons <anna@gh.st>


# acfc3c52 31-Oct-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

mcs: tickless driver for x86

Add a tickless timer driver for x86. The driver defaults to using
TSC_DEADLINE mode, but falls back to the apic if that feature is not
available.


# 952134d1 27-Oct-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

mcs: Add a scheduling context object

This is the first part of the seL4 MCS. This commit:

* adds a scheduling context object. Threads without scheduling
context objects cannot be scheduled.
* replaces tcbTimeSlice with the scheduling context object
* adds seL4_SchedControl caps for each core
* adds seL4_SchedControl_Configure which allows users to configure
amount of ticks a scheduling context has, and set a core for the
scheduling context.
* adds seL4_SchedContext_Bind, Unbind and UnbindObject, which allows
a tcb to be bound to a scheduling context.


# cb7cbd84 30-May-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

boot: allocate rootserver objects last

This change allows us to know, from just the kernel and dtb, where user
level untyped objects start being allocated from.

- allocate rootserver objects from last available freemem region.
- move create_rootserver_objects call into init_freemem.


# 8586b7f2 07-May-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

boot: refactor allocation of rootserver objects

Prior to this change, the boot process would dynamically allocate
memory for root server objects based on the order of initialisation.
Allocation was a best-fit algorithm.

This change preallocates all memory for root server objects to an
aligned untyped just after the user image. By allocating the objects in
order of size, allocation is greatly simplified and the ability to
reproduce the allocation offline based on the kernel and user image
sizes is increased.


# c030cafa 08-May-2019 Matthew Brecknell <Matthew.Brecknell@data61.csiro.au>

x86 boot: pass mem_p_regs by pointer

This avoids taking the address of a local variable in arch_init_freemem,
which is not supported by the Isabelle C parser.


# e3a83035 10-Apr-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

boot: consolidate init_freemem

init_freemem sets up available regions of memory for the hardware that
seL4 is booting on. Previously this function was duplicated across
architectures, with minor duplication.

This change provides a top-level init_freemem suitable for all
architectures.

- arm/riscv: change get_avail_p_reg to return whole p_reg array
- update all architectures to use new init_freemem.
- wrap init_freemem calls with arch_init_freemem for each arch, where
arch_init_freemem sets up the available and reserved regions of memory
which are passed to init_freemem.


# a6b4cf73 09-Apr-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

boot: allocate irq cnode statically

The memory used for the irq cnode is never available to the user. As a
result this memory can be allocated statically, simplifying the
bootcode.

- remove allocation of irq cnode
- add static init
- generate irq cnode size from cmake for arm
- add static constants for riscv, x86 as there is no variability at the
moment.


# 0cdd0514 02-Apr-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

ia32: adjustments to pass c-parser

This commit updates the ia32 build to pass the c-parser.

- replaces ++i with i++
- use void in functions with no parameters
- add a missing typecast
- remove a void cast of an unused variable

It does not provide any verification guarantees about ia32 code.


# 306453e3 18-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

style: set min-conditional-indent to 0

Given we use braces all the time conditional indents do not make code
cleaner.


# d0930f67 18-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

style: consistently attach return type

Add attach-return-type to astyle


# 761006e0 18-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

style: consistently align pointer with name

Run astyle with align-pointer=name


# 1f5182f8 03-Dec-2018 Jasper Lowell <jasper.lowell@data61.csiro.au>

trivial: Fix typo 'injenction'


# de42f826 05-Feb-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Introduce IO port control caps

Changes the way IO ports work such that instead of 'minting' IO port caps down into new
IO port caps with smaller ranges new IO port ranges must be allocated centrally from
an IO port control cap. This mechanism acts in a very similar fashion as IRQ handler/control
capabilities and ensures that allocated IO ports do not overlap. Disallowing overlapping
IO ports is necessary to ensure the CDT remains valid as capabilities are deleted.


# ce2efb33 18-Feb-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

Remove archInfo from bootinfo

With extended bootinfo providing a more flexible and extensible form of archInfo this
member can be retired.


# 7887cb24 18-Feb-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Store TSC frequency in extended bootinfo header


# b195de74 18-Feb-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Calculate tsc frequency earlier in boot

Moves the tsc_init earlier into the boot stage and stashing the frequency in a temporary
variable. Moving tsc_init earlier will allow us to use the value in other parts of the
boot code.


# f0594ac9 28-Jan-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Implement IBRS based Spectre mitigations

Provides the ability to enable the IBRS hardware Spectre mitigation strategies, as well
as completes the software mitigation by disabling jump tables in compilation. The
hardware mitigations are largely provided "for completeness" in the hopes that they
eventually become less expensive. For the moment there is no reason to turn on any
beyond STIBP if running in multicore


# d928d566 17-Jan-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Enable SMEP/SMAP if possible

User accesses or execution should not happen from supervisor mode, but generating a fault
if they do can aid debugging and has no cost.

SMEP needs to be enabled as part of mitigating spectre


# f26853b9 17-Jan-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Supervisor write protection

Prevents the kernel from writing to read only memory. This shouldn't happen, but catching
such attempts aids debugging and costs nothing to have neabled.


# abe99d3a 14-Jan-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Export PMC to user

Provides an option that, on kernel init, enables user reading of the performance
monitoring counters. This is a step towards removing the dependence on
seL4_DebugRun for user level benchmarking/profiling


# 734320d7 20-Nov-2017 Alexander Boettcher <alexander.boettcher@genode-labs.com>

x86: add framebuffer info of MBI2 via boot_info


# bfcf7f0d 05-Oct-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Copy struct by assignment instead of memcpy

This prevents the need to take the address of a local variable, which is a violation of the
supported C subset.


# 023977fc 04-Oct-2017 Alexander Boettcher <alexander.boettcher@genode-labs.com>

x86: Provide copy of RSDP in bootinfo

This gives a rootserver a way to find the ACPI tables in cases where there is no BIOS region
to scan for an RSDP.


# 9de5e2aa 21-Aug-2017 Bamboo <bamboo@keg.ertos.in.nicta.com.au>

[STYLE_FIX]


# f85fb62f 21-Aug-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-1062: Hide all VT-x related code behind #ifdef guards

The VT-x implementation is not going to be verified at the moment, and so the code for
it needs to be hidden from verification, which we do by #ifdef'ing it out if the VT-x
is not enabled. As a result the VT-x configuration depends on a non verification target


# a9e1f517 21-Aug-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-1062: Hide all IOMMU related code behind #ifdef guards

The IOMMU implementation is not going to be verified at the moment, and so the code for
it needs to be hidden from verification, which we do by #ifdef'ing it out if the IOMMU
is not enabled. As a result the IOMMU configuration depends on a non verification target


# 57fa0e0f 07-Aug-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

Share linker.h between architectures


# ee28936d 18-Jun-2017 Hesham Almatary <hesham.almatary@data61.csiro.au>

SMP: Introduce ENABLE_SMP_SUPPORT

- Make it more readable and less confusing compared to the 'CONFIG_MAX_NUM_NODES > 1' check


# a4c8c8be 16-May-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Replace memcpy with direct struct assignment

This is to avoid taking the address of a local variable, which is not permitted
in the subset of C for the kernel


# d13544c7 01-May-2017 Kent McLeod <Kent.Mcleod@data61.csiro.au>

SELFOUR-865: Pass memory map information to user


# 6bdad5c8 15-Mar-2017 Bamboo <bamboo@keg.ertos.in.nicta.com.au>

[STYLE_FIX]


# 6103d8f2 15-Mar-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

trivial: typos in previous commit


# f42d6363 15-Mar-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

refactor: initialise common core state in one place


# 256c30ae 13-Feb-2017 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Pass VBE information from multiboot through bootinfo


# b595d71f 25-Feb-2017 amrzar <azarrabi@nicta.com.au>

x86: initialize ksActiveFPUState for APs


# 0707ae87 23-Feb-2017 amrzar <azarrabi@nicta.com.au>

Move arch independent functions to generic files and HAVE_FPU config


# ae8f2c99 23-Feb-2017 amrzar <azarrabi@nicta.com.au>

x86: move current active FPU owner to node state


# 2fe3871b 08-Dec-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Prevent spurious detection of overlapping regions

Regions are stored as [start, end), therefore the start and end of two
different regions is permitted to be equal


# 3ba3f2de 04-Dec-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Add BSS regions for BOOT and PHYS code

Uninitialized data structures in BOOT and PHYS code currently get
placed in sections that are allocated in the file of the final image.
Whilst these sections will get reclaimed during kernel boot, so no
runtime memory is being wasted, it results in kernel images that
are much larger to load and transport than necesary.

This change adds explicit BSS regions for both BOOT and PHYS code
and moves all appropriate data structures into them


# b73651fa 23-Nov-2016 amrzar <azarrabi@nicta.com.au>

x86: check if kernel compiled for the host microarchitecture.
also move x86_cpuid_initialize from init_cpu as it has
nothing with initializing the cpu rather than just reading some info.
as well as being in cpu_init cause it to run multiple times in smp.


# 93f59d49 10-Nov-2016 amrzar <azarrabi@nicta.com.au>

x86: updating the bootinfo for number of cores


# c86669df 31-Oct-2016 Anna Lyons <Anna.Lyons@data61.csiro.au>

x86: export tsc freq in bootinfo

We read the frequency from the platform info MSR and export it to the
user for accurate timing (for platforms that support platform into)


# 7fbde1bb 14-Jun-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

SELFOUR-287: 32-bit vt-x implementation

This is an implementation of vt-x for x86 kernels running in
ia32 mode.


# f050e6a9 20-Oct-2016 amrzar <azarrabi@nicta.com.au>

implement layout of ipi interrupt handling


# bebfcf6d 23-Jun-2016 Kofi Doku Atuah <kofi.dokuatuah@nicta.com.au>

SELFOUR-499: X86, ARM: Add userspace invocations for hardware debugging

This commit implements the body of SELFOUR-499. The API exposes the x86 DR0-7
and ARM coprocessor 14 features to userspace by virtualizing them as context-
switched registers in the TCB. Implemented as TCB invocations. This feature is
only built when CONFIG_HARDWARE_DEBUG_API is selected.

* Add low-level support routines for setting, unsetting, getting, enabling
and disabling breakpoints.
* Add support for single-stepping as well.
^ Single-stepping is not supported on ARMv6 since the hardware
doesn't have support.
^ ARM implements single-stepping as instruction breakpoints
configured to fault on every instruction -- this is achieved through
the "mismatch" mode, which is only supported from ARMv7 onwards.
* Also support explicit software break requests, a la "BKPT" and "INT $3".

* New invocations:
* seL4_TCB_SetBreakpoint().
* seL4_TCB_GetBreakpoint().
* seL4_TCB_UnsetBreakpoint().
* seL4_TCB_ConfigureSingleStepping().
* New constants:
^ Event types:
^ seL4_InstructionBreakpoint.
^ seL4_DataBreakpoint.
^ seL4_SoftwareBreakRequest.
^ Access types:
^ seL4_BreakOnRead.
^ seL4_BreakOnWrite.
^ seL4_BreakOnReadWrite.
^ Exports:
^ seL4_NumHWBreakpoints.
^ seL4_NumExclusiveBreakpoints.
^ seL4_NumExclusiveWatchpoints.
^ seL4_NumDualFunctionMonitors.
^ seL4_FirstBreakpoint.
^ seL4_FirstWatchpoint.
^ seL4_FirstDualFunctionMonitor.

See documentation in the seL4 API manual.


# 74cb86c2 26-Sep-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Support for syscall

syscall/sysret is an additional way of performing kernel entry/exits.
Whilst the instructions themselves are not supported when running
in 32-bit mode, this commit provides the config choice for them as
well as the generic support code for them.


# 2cbc7123 28-Sep-2016 amrzar <azarrabi@nicta.com.au>

SELFOUR-630:preliminary booting application processors
- update core detection code and Kconfig file
- update kernel stack managment so that BSP does not use boot stack before IPI APs
- move arch dependant data to a single structure
- add cache line size to Kconfig
- add cpu indexing and apic id mapping
- boot APs to halting state
- add guard for kernel stack if there is only one core


# bdd9beff 22-Sep-2016 Bamboo <bamboo@keg.ertos.in.nicta.com.au>

[STYLE_FIX]


# d507b2d3 09-Feb-2016 Adrian Danis <Adrian.Danis@nicta.com.au>

SELFOUR-421 Introduce explicit device frames and untypeds

Kernel objects cannot be created from device untypeds, with the
exception of frames, which do not get zeroed and cannot be used
as an IPC buffer. Device untypeds additionally cannot be used
in the construction of ASID pools.

This then changes the API to the rootserver (i.e. bootinfo) to
send device untypeds instead of device frames. On ARM these
device untypeds are the same as the previously exported device
frame regions. On x86 PCI scanning is removed and all physical
memory addresses (that are not important for kernel integrity)
are released to the user.

In order to have bits in the frame and untyped caps on ARM the
number of software ASIDs had to be reduced from 2^18 to 2^17,
and the maximum untyped size reduced from 2^31 to 2^30


# 4044e204 21-Sep-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

Revert "Merge pull request #358 in SEL4/sel4 from ~AZARRABI/sel4:multicore to master"

This reverts commit ce2f666bb811c5e4c779829fcb09d5a189ebcdbb, reversing
changes made to dc183f96b81f2344d7d0d910fc430f924eaae940.


# fbc071b4 12-Sep-2016 amrzar <azarrabi@nicta.com.au>

SELFOUR-630:preliminary booting application processors
- update core detection code and Kconfig file
- update kernel stack managment so that BSP does not use boot stack before IPI APs
- move arch dependant data to a single structure
- add cache line size to Kconfig
- add cpu indexing and apic id mapping
- boot APs to halting state
- add guard for kernel stack if there is only one core


# 16c34811 31-Jul-2016 Hesham Almatary <hesham.almatary@data61.csiro.au>

SELFOUR-518: User-level log buffer

Remove global ksLog and use KS_LOG_PPTR instead

Benchmark - Log buffer: use global page table


# 90628a75 11-Aug-2016 Hesham Almatary <hesham.almatary@data61.csiro.au>

Benchmark: share and use KS_LOG_PPTR and PPTR_TOP for x86 and ARM


# 56030fc3 06-Jul-2016 Kofi Doku Atuah <kofi.dokuatuah@nicta.com.au>

x86: Fix cpuid family/model composition

Fixes a bug where previously MODEL_ID() was defined as:
`#define MODEL_ID(x) ( ((x & 0xf0000) >> 16) + (x & 0xf0) )`

This was incorrect because (1) it didn't take into account the conditional
nature of the extended_model_ID, and (2) it's actually shifting the
extended_model_ID into the low bits and keeping the model_ID in the high bits,
when it should be the other way around.

This patch also introduces a foundation for more sane testing of CPU vendor,
family, model and brand_ID.


# 09358f9b 23-Jun-2016 Hesham Almatary <Hesham.Almatary@nicta.com.au>

SELFOUR-448 Benchmark: Track thread's CPU utilisation time


# d410e13b 02-Jun-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

trivial: style


# 93bca86e 01-Jun-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Introduce support for XSAVE feature set

The XSAVE feature set is the future proof way for x86 CPUs to
manage extended CPU state. Extended state is MMX, FPU, SSE, AVX etc
registers. This is a replacement for the current FXSAVE and the
512 byte FPU region.

XSAVE introduces a few problems that this commit has to address

* The alignment of the XSAVE region is 64bytes, instead of the 16
bytes of the FXSAVE region
* XSAVE region size is dependent on the desired features, which
are detected at run time
* There are multiple variants of the XSAVE instruction that have
different potential optimizations, but are not always supported

The solutions to these are

* Re-order the FPU state and user registers in the user context
struct so that the new XSAVE region is first, and is thus
aligned to 64bytes without needing lots of padding
* Provide config options for desired features (including XSAVE
instruction variant) and required XSAVE region size. These
are checked at boot time to ensure the CPU meets these
requirements


# bdcbfd51 01-Jun-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Rearrange init_cpu in boot code

The CPU should be initialized before calling init_sys_state, as
this attempts to manipulate things such as the FPU, which may
not be in a valid state before performing the full CPU init.
In order to perform init_cpu earlier, init_vm_state is also
moved into init_cpu, where it makes more sense to be to begin with


# fc1feb67 24-May-2016 Hesham Almatary <Hesham.Almatary@nicta.com.au>

SELFOUR-446 Benchmark: Track syscall feature

Benchmark feature that currently:
- Keeps track of system calls info
- Start time
- Duration
- Capability type
- Invocation tag
- Log the number of invocations of each system call*
- Log the number of invocations for each capability type per syscall.
- Has 3 new syscalls (dump, reset, get size).
- This new feature uses the existing log buffer (which is 1MiB for x86
and ARM). Since the number of syscall invocations is not
deterministic, the logged number of invocations is limited by the size
of the buffer. I suggested to enable the users to pass their own
user-level buffer, to enable more flexibility, later.
- ENABLE_BENCHMARKS is now a parent config option of trace points and
system call track features, they can't be used at the same time.


# 1c1e976d 17-May-2016 Adrian Danis <Adrian.Danis@data61.csiro.au>

x86: Improve translation invalidation

x86_64 (with PCIDs enabled) supports a more fine grained invalidation
approach for the TLB and Page Structure Cache. This change expands
the number and kinds of information passed for certain invalidations,
and provides an implementation of this for ia32.


# 289bf92b 05-Jan-2016 Anna Lyons <Anna.Lyons@nicta.com.au>

SELFOUR-114: remove bootinfo.h duplication


# d20ca20a 13-Jan-2016 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Rename ia32->x86

This is a stylistic commit to make names of variables/constants and
functions in the kernel more consistent. That is, things that are
not IA32 specific, but are generic x86, get renamed to having an
x86 name


# d53aa04f 14-Dec-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Abstractions for setting up benchmarking log


# bddd804a 06-Jan-2016 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: IOAPIC/MSI syscalls

Restructure the x86 interrupt handling to allow for a more flexible
method of using IOAPIC and MSI interrupts. The essence of this change
is to allow for the user to pick, for both IOAPIC and MSIs, which
CPU vector to use. Additionally there is future support, in the API,
for seL4 to eventually protect MSI interrupts with the vt-d interrupt
routing tables.

API behaviour for legacy systems using the PIC is preserved

Part of SELFOUR-281


# 0fa6a0ce 11-Jan-2016 Adrian Danis <Adrian.Danis@nicta.com.au>

trivial: style


# 68887cd8 11-Jan-2016 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Populate the freemem list from the multiboot mem list

If the multiboot memory list exists, then it may contain more
than just the single contiguous memory region listed in 'mem_upper'
Therefore we use it to populate a more complete free memory list,
if it exists


# 9227ee88 21-Jun-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Move 32-bit specific initial address space creation to vspace_32


# 8e15c429 03-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Port some of the IOMMU changes on the experimental branch

This changes the IOMMU from using passthrough devices and instead
directly mapping in the reserved regions that are needed for each
device.


# b03c6dbf 09-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: With multi-kernel support removed make the kernel PDs etc global instead of passing them around


# 8609b3e0 16-Dec-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

trivial: fix style


# 646638ef 09-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Do not conditionally compile IOMMU code, use build/run time checks

Guarding code with #ifdef's makes even cursor testing of 'does this code compile'
difficult due to code being hidden by the pre-processor. Using config_set in
regular C if statements is performant as the compiler can trivially detect
dead code at compile time, and at -O1 and above will not even link in symbols
referenced by dead code in these blocks, so this will not bloat image size


# 5d42d014 09-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Do not conditionally compile IRQ controller code, use build/run time checks

Guarding code with #ifdef's makes even cursor testing of 'does this code compile'
difficult due to code being hidden by the pre-processor. Using config_set in
regular C if statements is performant as the compiler can trivially detect
dead code at compile time, and at -O1 and above will not even link in symbols
referenced by dead code in these blocks, so this will not bloat image size


# 71a45e6b 05-Nov-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Strip multi kernel support from the x86 kernel. This is not used and is conflicting with planned future features


# 64aed537 04-Jun-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Move APIC frequency calculation to APIC init, instead of doing it before we initialize paging


# 171824f7 07-Dec-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

Change additional int->word_t due to interraction with the C parser to ease verification


# e82953a1 01-Sep-2015 Stephen Sherratt <Stephen.Sherratt@nicta.com.au>

Removed CONFIG_BENCHMARK config option. All checks for '#ifdef CONFIG_BENCHMARK' replaced with '#if CONFIG_MAX_NUM_TRACE_POINTS > 0'.


# 4c2554dc 26-Aug-2015 Stephen Sherratt <Stephen.Sherratt@nicta.com.au>

Added support for using multiple tracepoints at the same time.


# ec788900 24-Jul-2015 Anna Lyons <Anna.Lyons@nicta.com.au>

xIntroduce RELEASE_PRINTF, which allows a renamed printf (release_printf) to be used in a release build of the kernel - userful for debugging tests that only fail on a release build of the kernel


# 914741ea 27-May-2015 Adrian Danis <Adrian.Danis@nicta.com.au>

x86: Make x86 the name of the architecture instead of IA32

IA32 is 32bit version of the x86 architecture. Whilst only IA32
is supported, much of the code is generic x86. Using a generic
x86 architecture will aid in future 64bit support