genode/repos/base-hw/src/core/spec/x86_64
Stefan Kalkowski 8e13b376b0 hw: improve cross-cpu synchronization
This commit addresses several multiprocessing issues in base-hw:

* it reworks cross-cpu maintainance work for TLB invalidation by
  introducing a generic Inter_processor_work and removes the so
  called Cpu_domain_update
* thereby it solves the cross-cpu thread destruction, when the
  corresponding thread is active on another cpu (fix #3043)
* it adds the missing TLB shootdown for x86 (fix #3042)
* on ARM it removes the TLB shootdown via IPIs, because this
  is not needed on the multiprocessing ARM platforms we support
* it enables the per-cpu initialization of the kernel's cpu
  objects, which means those object initialization is executed
  by the proper cpu
* it rollbacks prior decision to make multiprocessing an aspect,
  but puts back certain 'smp' mechanisms (like cross-cpu lock)
  into the generic code base for simplicity reasons
2019-01-07 12:25:44 +01:00
..
kernel hw: improve cross-cpu synchronization 2019-01-07 12:25:44 +01:00
muen hw: improve cross-cpu synchronization 2019-01-07 12:25:44 +01:00
bios_data_area.cc Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
board.h Remove UART specific SPEC identifiers (Ref #2403) 2017-05-31 13:16:10 +02:00
cpu.cc hw/x86: enable SMP support 2018-08-28 16:48:44 +02:00
cpu.h hw: improve cross-cpu synchronization 2019-01-07 12:25:44 +01:00
crt0.s hw/x86: enable SMP support 2018-08-28 16:48:44 +02:00
exception_vector.s hw/x86: enable SMP support 2018-08-28 16:48:44 +02:00
fpu.cc Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
fpu.h hw: remove core internal header directories 2017-05-31 13:15:52 +02:00
pic.cc hw/x86: enable SMP support 2018-08-28 16:48:44 +02:00
pic.h hw/x86: enable SMP support 2018-08-28 16:48:44 +02:00
platform_support_common.cc Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
platform_support.cc hw: provide svm/vmx features via platform_info 2018-03-29 14:59:07 +02:00
port_io.h hw: remove core internal header directories 2017-05-31 13:15:52 +02:00
timer_driver.h hw lapic: find best frequency dynamically 2017-08-28 16:49:50 +02:00
timer.cc hw/x86: read out local APIC base dynamically 2018-08-28 16:48:43 +02:00
translation_table.h hw: do not change x86 paging attributes on fly 2017-11-09 12:18:44 +01:00