Commit Graph

7900 Commits

Author SHA1 Message Date
3f9bf7e5dd Add missing route to timer 2013-03-26 12:21:45 +01:00
5600328d83 terminal_mux: Clear terminal when activating menu
This patch clears the terminal each time the menu appears and thereby
wipes away artifacts that might occur when combining terminal_mux with
kdb_uart_drv and the kernel prints messages directly.
2013-03-26 12:21:45 +01:00
ff3b73825d terminal: Add escape handling for CUB
This VT102 command is triggered by busybox when pressing the 'pos1' key.
2013-03-26 12:21:44 +01:00
cae79d30b8 cli_monitor: Support dynamically linked binaries 2013-03-26 12:21:44 +01:00
da2076e52a usb: fix support for HID keyboard
This fixes issues with several HID keyboards by implementing
get_unaligned_le16(), which obviously may also fix other not-yet-known
issues. Hint: I had to look out for suspicious lines like follows in the
verbose log.

  [init -> usb_drv] get_unaligned_le16 called, not implemented

Also, quirks for cherry keyboards are now applied.
2013-03-26 12:21:44 +01:00
9a1d13c32d panda: add route to timer in run script
Fix #700
2013-03-25 11:21:32 +01:00
b06cc3250a Coding style fixes 2013-03-23 13:37:57 +01:00
c56525f264 cli_monitor: Add reboot command for Fiasco.OC
In addition to the new reboot command, this patch tries to reduce the
artifacts caused by the interplay of the kernel debugger and
terminal_mux.
2013-03-22 21:41:50 +01:00
26710729a3 Suppress warnings in release mode
Fixes #698
2013-03-22 17:28:07 +01:00
613d980ff4 Remove debug message 2013-03-22 17:23:52 +01:00
c27364f2df sd_card: Enable 8-bit/52Mhz mode for eMMC 2013-03-22 16:35:31 +01:00
3b71a9c986 Add missing licensing headers 2013-03-22 15:31:16 +01:00
a3afb3dae4 sd_card: Exynos5/MMC support
Added MMC specific parts to Sd-card implemntation. Read/Write takes advantage of
DMA. Currently we leave card in one bit mode.
2013-03-22 15:28:52 +01:00
95a16adb6f sd_card: Make OMAP4 'sd_card.h' default 2013-03-22 15:26:13 +01:00
e1d0839e19 terminal: Check bounds of cursor position
Thanks @cproc for the fix.
2013-03-22 15:24:29 +01:00
c36909e5dc acpi: Adjust device_pd quota for 64bit machines 2013-03-22 12:45:31 +01:00
839c0263c9 Fix warning on 64bit
Because the template instantiation rules of C++ do not deal well with
null pointers specified as '0', the constructor of 'Local_addr' was
instantiated for [T = int], which does not make sense. To avoid the
warning "cast to pointer from integer of different size", we need to
explicitly state that '0' is a pointer. In C++11, there is the 'nullptr'
keyword, but until we switch to this version, we have to state (void *)0.
2013-03-22 12:41:21 +01:00
1730132ef1 usb: fix linux header include setup phase
In usb.inc all required Linux include files of the Linux code are looked up
by 'sed'ing through the files of SRC_C and SRC_CC. The Linux include files
are then added as dependency to the SRC_C and SRC_CC files and during dependency
resolution symbolic links to the lx_emul.h will be created.

In the platform specific usb.mk file there are the Linux driver files
added, but unfortunately after including usb.inc. So, for them no dependency
to any Linux include header file is generated and so no symbolic files are
generated.

If the driver code file is compiled as first, as for asix.c, the symbolic links
of the include files are missing and compilation fails.

Add the Linux driver code files to SRC_C before including usb.inc in the
platform specific usb.mk files.
2013-03-21 17:09:08 +01:00
dfe4fd177d cli_monitor: Add foc-specific kdebug command 2013-03-21 15:50:32 +01:00
022e762a40 timer: Remove debug message 2013-03-21 15:49:27 +01:00
e38983a8fa Simple thread-affinity test 2013-03-21 12:54:02 +01:00
297538678e foc: Create thread at core at construction time
Originally, a thread was created at core not before calling the 'start'
function. In order to configure the thread affinity before starting the
thread, we have to make the thread known at core right at construction
time. This patch moves the needed thread-creation sequence from the
'start' function to the '_init_platform_thread' function.
2013-03-21 12:47:42 +01:00
d7f85ef81f Add cli_monitor to terminal_mux.run 2013-03-21 11:44:34 +01:00
05027c7935 Simple CLI for managing Genode subsystems 2013-03-21 11:44:34 +01:00
22f65d1afe Move gems/include/terminal to os/include/terminal
The terminal utilities provided under 'include/terminal' depend on the
base API and the 'os' repository only. So we can incorporate them into
'os'.
2013-03-21 11:44:34 +01:00
4498a6b6a0 terminal: Add support for EL0 2013-03-21 11:44:34 +01:00
764a3656a1 cxx: Decouple C++ runtime from 'env()->heap()' 2013-03-21 11:04:56 +01:00
82aa092dac terminal_mux: increase RAM quota in run script
Fixes #694.
2013-03-20 14:22:43 +01:00
570156b38c l4lx: allocate memory in chunks
When L4Linux tries to allocate a dataspace of the size of its physical
memory, this allocation can fail, because the 'l4re_ma_alloc()' function
in the 'l4lx' library always tries to allocate a contiguous dataspace of
the given size and there might be no contiguous free area left.

With this patch, memory gets allocated in chunks: if the size to be
allocated exceeds the configured chunk size, a managed dataspace gets
created and filled with multiple memory chunks of at most the chunk size.

The chunk size is 16M by default and can be configured in an l4linux
config node:

<config args="...">
	<ram chunk_size="16M"/>
</config>

Fixes #695.
2013-03-20 14:22:04 +01:00
3ae2c1712e base-foc: Do not touch memory during map operation
Don't do anything in Mapping::prepare_map_operation.  At this point and in the
current implementation, the memory has been mapped and cleared already. Touching
the memory may only pollute the cache causing data corruption in DMA memory.

Fixes issue #452
2013-03-20 10:06:16 +01:00
c95a6c54ea usb: grab urb sizes from driver
Instead of hardcoding the values, ask the driver for the supported sizes and
allocate the skb allocators accordingly.
2013-03-20 10:06:16 +01:00
9abf88c195 usb: add network support for arndale board 2013-03-20 10:06:16 +01:00
78c752b1c7 usb: Rewrote back-end allocators
Allocate back-end memory dynamically.
2013-03-20 10:06:16 +01:00
87f83c1cff build.mk: Fix dependency on $(LIB_DEP_FILE)
The previous fix in 6b33757154 was
invalid.
2013-03-20 10:02:34 +01:00
ac9c8c769c remove obsolete port target 2013-03-20 10:00:54 +01:00
452624e1a6 Fiasco(.OC) KDB UART driver
The KDB UART driver uses the Fiasco(.OC) kernel debugger console as backend
for input and output. This is useful in the case that only one UART is
available.

Fixes #665.
2013-03-18 15:28:16 +01:00
4bb0a8231e vancouver: calculate STACK_SIZE from addr_t size.
This is necessary on 64bit host.
2013-03-18 13:10:29 +01:00
8bc719ee1d nova: show badge as name during page fault message 2013-03-18 13:10:21 +01:00
e85e11bec1 vmm: try to reserve lower virtual address space
It's not guaranteed to be robust and will break in the future - I told you.

Related to issue #365, issue #519, issue #666
2013-03-18 13:10:03 +01:00
40e27b2379 vancouver: correct framebuffer size. 2013-03-18 13:09:53 +01:00
b8eb9b534d Switch to Seoul VMM repository instead of NUL
In this version of the transition the Hip structure from Genode is reused,
@nfeskes seoul_libc_support is used for the string functions and the
nul/config.h is replaced by just using a constant value in the one place where
the file was needed.

Related to #666.
2013-03-18 13:09:45 +01:00
9d0a377efe Add 'seoul_libc_support' library
This library contains the subset of the libc that is needed for the
Seoul VMM.

Related to issue #666.
2013-03-18 13:09:16 +01:00
0c8b996fa4 base: calculate initial junk based on 32/64 host
Issue #666
2013-03-18 13:07:22 +01:00
b38fee2867 L4Linux stability improvements
- search for alternative virtual address regions upwards, starting from
  the given start address, in the 'l4re_rm_attach()' and
  'Region_manager::reserve_range()' functions

- don't treat memory locations above 0x80000000 in l4linux's virtual
  address space as device memory

- align the start address of the vmalloc area according to the assumption
  in 'devicemaps_init()'

Fixes #414.
2013-03-18 13:06:06 +01:00
a59b2e3f16 terminal: 'ED' command fix
Fixes #691.
2013-03-18 13:02:21 +01:00
0530ff3241 terminal: weaken color argument order requirement
With this patch, the escape sequence decoder can handle a two-argument
'SGR' command with the attribute/color arguments in any order.

Fixes #690.
2013-03-18 13:02:02 +01:00
171aa332b7 foc: Extend irq mode heuristics
Explicitly set default mode for legacy interrupts to not rely on kernel
default settings. This patch fixes the constantly busy IRQ threads for
IRQ 1 and 12 as soon as the PS/2 driver was loaded until the point when
the first IRQ occurred.
2013-03-14 19:24:52 +01:00
91b0578446 foc: Select "thread-ready" bit in pause function 2013-03-14 16:37:29 +01:00
ce58a63fb6 Remove 'epit' from generic i.MX platform spec
Remove the 'epit' variable from the generic imx31 and imx53 specification,
and only add it to base-hw specific i.MX specs. Thereby the EPIT timer
library gets build for base-hw only.
Moreover, fix some const-ness issues in the platform_timer implementation
for the EPIT timer.
Fixes #688.
2013-03-14 11:27:51 +01:00
0f38335188 base-foc: remove links to obsolete initrd archives
Fix #686
2013-03-14 10:50:33 +01:00