Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for automatic detection of serial PCI cards and their I/O ports on x86 #4

Closed
wants to merge 22 commits into from
Closed

Conversation

alex-ab
Copy link

@alex-ab alex-ab commented Jun 10, 2013

@ssumpf: What do you think ?

ssumpf and others added 22 commits February 20, 2013 12:18
Performed in 'slow_trapentry'. Was 'fix_exception_ip.patch'.
Restrict the appliance of ERRATA 743622 to CPU revisions: r2p0-r2p2.

Was 'foc_arm_errata.patch'
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'
Return true if thread is ready.

Was: 'foc_exregs_ret_state.patch'
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'
Was: 'imx53_support.patch'
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'
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'
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'
Fix multiple definition of 'init_errata_workarounds'
Added 'exynos5' bsp, enabled MMU and UART, disabled caches.
Stage2, GIC, timer, UART, FPU running on single core.
Second CPU is up and receives timer interrupts. Caches are still disabled.
Added errata 774769, also there is no need to clean the cache on page table
update.
This patch is needed for the Genode KDB terminal.

Fixes #1.
Use carry bit in EFLAGS to pass thread state to ex_reg caller. Do not touch
other bits, which might disable interrupts on kernel exit.

Fixes #2.
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 #3.
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.
@alex-ab alex-ab closed this Jun 12, 2013
@alex-ab alex-ab deleted the issue_bda_bender branch June 12, 2013 08:09
iloskutov pushed a commit to iloskutov/genode that referenced this pull request Nov 5, 2013
Depends on - ssumpf/foc#4 - which adds BDA read out
of I/O ports to FOC kernel.

Issue genodelabs#768
cproc pushed a commit to cproc/genode that referenced this pull request May 12, 2014
Depends on - ssumpf/foc#4 - which adds BDA read out
of I/O ports to FOC kernel.

Issue genodelabs#768
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants