summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-05-04perfmon: fix broken global pmc counting.HEADperfmonRemy Noel
When a pmc was freed, the total amount of pmc was not decreased.
2018-05-04pmu: fix driver initialization.Remy Noel
2018-05-03Merge branch 'master' into perfmonRemy Noel
2018-05-03perfmon: change tests Kconfig from select to depends on.Remy Noel
2018-05-03perfmon: Remove useless accessors.Remy Noel
Also rename pmc oveflow handling function.
2018-05-03perfmon: add polling overflow implementation in perfmonRemy Noel
2018-05-03perfmon: register a pmu_driver in place of pmu_ops.Remy Noel
Replace pmu_get_width with a property. Prepare the default overfow handling.
2018-05-03lapic: resets perfmon interrupt after each call.Remy Noel
2018-04-30cpu: add cpu_freq accessor.Remy Noel
2018-04-29Minor changesRichard Braun
2018-04-27kern/atomic: minor improvementRichard Braun
Remove the need from architecture-specific code to check alignment.
2018-04-26kern/atomic: minor reworkRichard Braun
Allow architectures to specifically override any of the overloaded functions. This removes the need from architecture-specific code to implement selection.
2018-04-24Fix missing kern/syscnt.h inclusionsRichard Braun
2018-04-24kern/atomic: fix alignment checkRichard Braun
2018-04-21kern/mutex/mutex_adaptive: fix atomic operation callsRichard Braun
2018-04-21pmu_amd: Add AMD overflow handling (untested).Remy Noel
2018-04-21Merge branch 'atomic_rework'Richard Braun
2018-04-21doc/intro(9): mention the supported data modelsRichard Braun
2018-04-21kern/atomic: reworkRichard Braun
This commit restricts atomic operations to 32-bit and 64-bit (when supported). It keeps a similar source interface, but adds restrictions on the supported types. The main drive behind this change is portability, and in particular, upcoming local atomic operations.
2018-04-21Fix atomic operations argument typesRichard Braun
In preparation of the rework of atomic operations, all atomic function calls are fixed to use fully supported, compatible types. This means that atomic operations ar erestricted to 32-bit and 64-bit, and that value types must be strictly compatible with pointer types.
2018-04-21perfmon: fix overflo test only working on 64 bit counters.Remy Noel
2018-04-21x86: fix i386_defconfigRichard Braun
2018-04-21lapic: fix non-perfmon compilation.Remy Noel
2018-04-21perfmon: various cosmetics.Remy Noel
2018-04-21pmu_intel: Add Overflow V2 support.Remy Noel
Also adds cpu_set_msr64 helper.
2018-04-21perfmon: Test overflow in cpu test.Remy Noel
Adds perfmon_event_write as a test-only API.
2018-04-21perfmon: Add overflow handling.Remy Noel
Only architectural version 1 handled so far.
2018-04-21perfmon: add perfmon overflow interrupt.Remy Noel
2018-04-21kern/perfmon: add perfmon_cpu_pmc get/setters.Remy Noel
2018-04-21kern/perfmon: Handle overflow on sync.Remy Noel
Add new perfmon driver method "get_pmc_width".
2018-04-21kern/perfmon.c: Add pmc id to index map.Remy Noel
Will be used to handle calls from the pmu implementations.
2018-04-21cpu: Add cpu_get_msr64 helperRemy Noel
2018-04-21Merge branch 'master' into perfmonRemy Noel
2018-04-19tools/build_configs.py: augment the small setRichard Braun
Add CONFIG_CC_EXE and CONFIG_64BITS to the small (default) set of options to test since they are among the most important options a developer should mechanically check when using the tool.
2018-04-19kern/atomic: remove shortcutsRichard Braun
These shortcuts just don't bring enough value.
2018-04-18Merge branch 'master' into perfmonRemy Noel
2018-04-14tools/qemu.sh: only pass x15 as the kernel argument to QEMURichard Braun
This makes reading the command line easier in the kernel log.
2018-04-14kern/rcu: make the window check interval configurableRichard Braun
2018-04-14kern/atomic: fix consume memory orderRichard Braun
The consume memory order is known to be problematic in the C11 specification, and as a result, most compilers alias it to acquire. Based on the assumption that the kernel doesn't run on architectures with an Alpha-like memory model, the consume memory order was aliased to relaxed, letting the CPU identify data dependencies. But there may also be issues at compile time, making this hack is dangerous. As a result, the actual consume memory order as implemented by the compiler is now used to define the kernel consume memory order. See https://lwn.net/Articles/588300/.
2018-04-14Rename variables in function-like macrosRichard Braun
2018-04-14Fix left-over reserved identifiersRichard Braun
For some reason, commit be5b9d6ab9f7e7a81c367e4bb0823ba11f85940f didn't take care of all reserved identifiers.
2018-04-14test_perfmon_torture: fix names being copied from freed memory.Remy Noel
2018-04-14pmu_intel: fix call to gcc's __builtin_popcount.Remy Noel
We do not use libgcc anymore due to its usage of redzone.
2018-04-14Merge branch 'master' into perfmonRemy Noel
2018-04-13kern/xcall: upgrade spurious interrupts to errorsRichard Braun
2018-04-13x86/lapic: fix inter-process interrupt generationRichard Braun
Make the lapic_ipi function interrupt-safe.
2018-04-09Make linking with libgcc a per-architecture optionRichard Braun
2018-04-08tools/qemu.sh: remove GRUB dependencyRichard Braun
This change makes QEMU directly boot the kernel, using the -kernel option.
2018-04-08x86: slightly improve linker scriptRichard Braun
2018-04-08Makefile: disable the build ID linker featureRichard Braun