Commit Graph

31 Commits

Author SHA1 Message Date
Christian Helmuth
4e0373fe5e Create tmp files in OBJ_DIR not L4_DIR
Fixes #15
2016-05-17 17:16:19 +02:00
Reinier Millo Sánchez
818a435e9e foc: handle IRQ in TrustZone's normal side with security extensions
Fix #13
2015-07-01 13:02:16 +02:00
Christian Prochaska
8469170306 Relocate sigma0 to a higher address
... to prevent an overlap with the kernel.

Fixes ssumpf/foc#11
2015-05-19 11:38:16 +02:00
Christian Prochaska
0644e90c5d Fixes for building with GCC 4.9
This commit can be removed when updating to the latest Fiasco.OC version.

Fixes ssumpf/foc#10
2015-05-11 17:24:12 +02:00
Alexander Boettcher
1acdeeb381 FOC: cli in context of leave_by_trigger_exception
Bug triggering on 64bit. Without the cli (as used on 32bit) the assertion
in kernel/fiasco/src/kern/thread-ipc.cpp:739 triggers.
2015-02-24 16:35:19 +01:00
Christian Prochaska
7cd187003d Flush the TLB after idle operation
While a CPU executes the idle thread, it receives no cross-CPU TLB flush
requests. Therefore, the TLB needs to get flushed when leaving the idle
thread to compensate for any missed flush requests.

Fixes ssumpf/foc#9.
2013-10-30 08:56:32 +01:00
Christian Prochaska
591c89a3ae limit the exception reply thread state application
Don't apply those parts of the thread state returned by the Genode
exception handler which might have changed in the kernel in
the meantime.

Fixes ssumpf/foc#8.
2013-10-25 16:00:10 +02:00
Stefan Kalkowski
90a76c9592 Enable performance counter for everything beyond Armv7 2013-08-28 20:46:17 +02:00
Sebastian Sumpf
14ef3a3a2b FOC: Don't set SCU enable bit on Cortex-A15
... since the SCU-control register does not exist (resverved area on Cortex-A15).
Setting this bit leads to second-level translation table faults on CPU1.
2013-08-13 12:34:55 +02:00
Sebastian Sumpf
82f255fff2 FOC/L4RE: Add license 2013-08-09 12:20:50 +02:00
Sebastian Sumpf
05001c3f3c FOC: Fix in kernel 'Op_cache_dma_coherent'
'Mem_unit::flush_dcache' takes void pointers as arguments, no need to take the
given void pointers ('start' and 'end') and transform them to
'Virt_addr(Address(x)' types. This breaks cache flushing in r56.
2013-08-08 14:48:45 +02:00
Sebastian Sumpf
4239a0e015 FOC: Rate OMAP4 timer at 350 MHz
Only valid for PandaBoard ES2 where u-boot sets the MPU clock to 700 MHz (of
possible 1200 MHz) only.
2013-07-18 10:53:16 +02:00
Sebastian Sumpf
3db87defce FOC: Make PandaBoard compile
Fix multiple definition of 'init_errata_workarounds'
2013-07-17 12:13:41 +02:00
Sebastian Sumpf
ff8fb8c677 L4RE: Remove <cstdio> from Exynos init code 2013-07-16 16:50:20 +02:00
Sebastian Sumpf
4df9ea5598 i.MX53 support
Was: 'imx53_support.patch'
2013-07-16 16:22:08 +02:00
Alexander Boettcher
d51aad39f1 Read out comport on x86 from BDA area
With this patch the comport are tried to read out from the BIOS Data Area
on x86 machines. The BDA Area are part of the first physical page and may
contain the non-default io ports of the comport.

When used together with 'bender' from the 'morbo' toolchain, even serial PCI
cards (also Intel's AMT Serial Over Line adapter) are detected automatically.
2013-07-16 12:23:15 +02:00
Christian Prochaska
6c831301d9 FOC: Fetch serial input without '-serial_esc' option
With this patch, the kernel fetches serial data also when the
'-serial_esc' option is not set.

To keep the patch minimally invasive, the 'serial ESC' functionality gets
enabled by default and the existence of the '-serial_esc' argument gets only
checked when an ESC character was received and the decision of entering the
kernel debugger or not needs to be made.

Fixes ssumpf/foc#3.
2013-07-16 12:23:15 +02:00
Christian Prochaska
fded832001 FOC: Disable the virtual console echo
This patch is needed for the Genode KDB terminal.

Fixes ssumpf/foc#1.
2013-07-16 12:23:15 +02:00
Sebastian Sumpf
300faf9de7 L4RE: Remove 'moe' from 'switch_ram_base' target 2013-07-16 12:23:15 +02:00
Sebastian Sumpf
ba7ccbdae7 Sigma0: raise sigma0's priority to maximum.
When sigma0 runs on a lower priority than the rest of the threads in the system
it might come to the point that while answering a page fault or I/O memory area
request the timeslice of the caller (core-pager) gets fully consumed. As long as
other threads are still executable and don't block sigma0 won't do progress
anymore, because it runs at the lowest priority.  This commit simply sets
sigma0's priority to the highest in the system.

Was: 'sigma0_prio.patch'
2013-07-16 12:23:14 +02:00
Sebastian Sumpf
ff7ce2a41a Fiasco.OC: fix io-port fault answer in sigma0
In sigma0 normally no answer tag to a request/fault is created. It
simply uses the message tag received with the request. This doesn't work out
when I/O ports are requested. This patch constructs an appropriate answer tag.
Moreover, we have to enable I/O port protection in the kernel configuration.

Was: 'sigma0_ioport.patch'
2013-07-16 12:23:14 +02:00
Sebastian Sumpf
127e1f9219 JBD: Increase name buffer to 32K
Increase the size of the JDB kernel object names buffer. The original size was
too small for some Genode scenarios and caused missing thread names in the
kernel debugger thread list.

Was: 'jdb_kobject_names.patch'
2013-07-16 12:23:14 +02:00
Sebastian Sumpf
8adcd665fb X86: Single stepping
This patch enables the user land to use the CPU's single stepping mode on
x86_32 platforms. It is needed to enable the use of GDB monitor for
user-level debugging.

Was: 'foc_single_step_x86.patch'
2013-07-16 12:23:14 +02:00
Sebastian Sumpf
eb39c103a6 Ex_regs: Change 'user_flags'
Return true if thread is ready.

Was: 'foc_exregs_ret_state.patch'
2013-07-16 12:23:13 +02:00
Sebastian Sumpf
d6ec37874b Caps: fix l4_task_cap_equal semantic.
The syscall l4_task_cap_equal almost returns false although the referenced
kernel-objects are equal. This patch changes the semantic of the syscall so that
whenever two capabilities refering the same kernel-object are compared it will
return true. Please refer to the discussion of the following mail thread:
http://www.mail-archive.com/l4-hackers@os.inf.tu-dresden.de/msg05162.html

Was 'foc_caps_equal.patch'
2013-07-16 12:23:13 +02:00
Sebastian Sumpf
0b7d91f663 ARM: Errata 743622
Restrict the appliance of ERRATA 743622 to CPU revisions: r2p0-r2p2.

Was 'foc_arm_errata.patch'
2013-07-16 12:23:13 +02:00
Sebastian Sumpf
4fe9467192 GDB monitor: Check for ARM breakpoint IP
Performed in 'slow_trapentry'. Was 'fix_exception_ip.patch'.
2013-07-16 12:23:13 +02:00
Sebastian Sumpf
792e9a0c76 FOC/L4RE: Upstream revision 56 2013-07-16 12:18:56 +02:00
Sebastian Sumpf
b22db346c8 FOC/L4RE: Upstream revision 47 2013-02-20 12:17:17 +01:00
Sebastian Sumpf
34af60da11 FOC/L4RE: Upstream revision 42 2013-01-14 12:18:53 +01:00
Sebastian Sumpf
808d228872 FOC/L4RE: Upstream revision 40 2013-01-11 17:00:47 +01:00