<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/s390/kernel/entry.S, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-11-27T10:06:56Z</updated>
<entry>
<title>[S390] fix system call parameter functions.</title>
<updated>2008-11-27T10:06:56Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2008-11-27T10:05:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59da21398e680e8100625d689c8bebee6a139e93'/>
<id>urn:sha1:59da21398e680e8100625d689c8bebee6a139e93</id>
<content type='text'>
syscall_get_nr() currently returns a valid result only if the call
chain of the traced process includes do_syscall_trace_enter(). But
collect_syscall() can be called for any sleeping task, the result of
syscall_get_nr() in general is completely bogus.

To make syscall_get_nr() work for any sleeping task the traps field
in pt_regs is replace with svcnr - the system call number the process
is executing. If svcnr == 0 the process is not on a system call path.

The syscall_get_arguments and syscall_set_arguments use regs-&gt;gprs[2]
for the first system call parameter. This is incorrect since gprs[2]
may have been overwritten with the system call number if the call
chain includes do_syscall_trace_enter. Use regs-&gt;orig_gprs2 instead.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] ftrace: fix kernel stack backchain walking</title>
<updated>2008-11-14T17:18:53Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2008-11-14T17:18:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=50bec4ce5d36ebf96189dcc54e20c7fce4bf61bf'/>
<id>urn:sha1:50bec4ce5d36ebf96189dcc54e20c7fce4bf61bf</id>
<content type='text'>
With CONFIG_IRQSOFF_TRACER the trace_hardirqs_off() function includes
a call to __builtin_return_address(1). But we calltrace_hardirqs_off()
from early entry code. There we have just a single stack frame.
So this results in a kernel stack backchain walk that would walk beyond
the kernel stack. Following the NULL terminated backchain this results
in a lowcore read access.

To fix this we simply call trace_hardirqs_off_caller() and pass the
current instruction pointer.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] lockdep: fix compile bug</title>
<updated>2008-11-14T17:18:53Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2008-11-14T17:18:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=af4c68740e848019d8d14c52704ed8eacceddac6'/>
<id>urn:sha1:af4c68740e848019d8d14c52704ed8eacceddac6</id>
<content type='text'>
arch/s390/kernel/built-in.o: In function `cleanup_io_leave_insn':
mem_detect.c:(.text+0x10592): undefined reference to `lockdep_sys_exit'

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] ptrace changes</title>
<updated>2008-10-10T19:33:57Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2008-10-10T19:33:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=753c4dd6a2fa2af81f5d809d610d29f2d9dd9bc1'/>
<id>urn:sha1:753c4dd6a2fa2af81f5d809d610d29f2d9dd9bc1</id>
<content type='text'>
* System call parameter and result access functions
* Add tracehook calls
* Split syscall_trace into two functions do_syscall_trace_enter and
  do_syscall_trace_exit

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] s390: Optimize user and work TIF check</title>
<updated>2008-05-07T07:23:00Z</updated>
<author>
<name>Martin Schwidefsky</name>
</author>
<published>2008-05-07T07:22:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2688905e6a9b3647bf7b452cb0ff2bdb166bd8fe'/>
<id>urn:sha1:2688905e6a9b3647bf7b452cb0ff2bdb166bd8fe</id>
<content type='text'>
On return from syscall or interrupt, we have to check if we return to
userspace (likely) and if there is work todo (less likely) to decide
if we handle the work. We can optimize this check: we first check for
the less likely work case and then check for userspace.

This patch is also a preparation for an additional patch, that fixes a bug
in KVM dealing with cpu bound guests.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>signals: s390: renumber TIF_RESTORE_SIGMASK</title>
<updated>2008-04-30T15:29:37Z</updated>
<author>
<name>Roland McGrath</name>
</author>
<published>2008-04-30T07:53:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=02a029b325854a98e76f0a79ab38bec13e66bd38'/>
<id>urn:sha1:02a029b325854a98e76f0a79ab38bec13e66bd38</id>
<content type='text'>
TIF_RESTORE_SIGMASK no longer needs to be in the _TIF_WORK_* masks.  Those low
bits are scarce, and are all used up now.  Renumber TIF_RESTORE_SIGMASK to
free one up.

Signed-off-by: Roland McGrath &lt;roland@redhat.com&gt;
Cc: Oleg Nesterov &lt;oleg@tv-sign.ru&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Cc: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Cc: "Luck, Tony" &lt;tony.luck@intel.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[S390] Fix couple of section mismatches.</title>
<updated>2008-02-05T15:50:56Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2008-02-05T15:50:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2bc89b5ece48dc888734e8760ba5ad8566431912'/>
<id>urn:sha1:2bc89b5ece48dc888734e8760ba5ad8566431912</id>
<content type='text'>
Fix couple of section mismatches. And since we touch the code
anyway change the IPL code to use C99 initializers.

Cc: Michael Holzheu &lt;holzheu@de.ibm.com&gt;
Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] Fix compile error on 31bit without preemption</title>
<updated>2007-12-04T15:09:58Z</updated>
<author>
<name>Christian Borntraeger</name>
</author>
<published>2007-12-04T15:09:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab1809b4ed9a3aaf3b34133a776a94f9fad54cc4'/>
<id>urn:sha1:ab1809b4ed9a3aaf3b34133a776a94f9fad54cc4</id>
<content type='text'>
Commit b8e7a54cd06b0b0174029ef3a7f5a1415a2c28f2 introduced a compile
error if CONFIG_PREEMPT is not set:

arch/s390/kernel/built-in.o: In function `cleanup_io_leave_insn':
/space/kvm/arch/s390/kernel/entry.S:(.text+0xbfce): undefined reference to `preempt_schedule_irq'

This patch hides preempt_schedule_irq if CONFIG_PREEMPT is not set.

Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] Fix kernel preemption.</title>
<updated>2007-11-20T10:13:46Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2007-11-20T10:13:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8e7a54cd06b0b0174029ef3a7f5a1415a2c28f2'/>
<id>urn:sha1:b8e7a54cd06b0b0174029ef3a7f5a1415a2c28f2</id>
<content type='text'>
When returning from IRQ handling and TIF_NEED_RESCHED is set we must
call preempt_schedule_irq() instead of schedule().
Otherwise the BKL might be unlocked in schedule() and therfore
everything that relies on the BKL is broken.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
<entry>
<title>[S390] Fix irq tracing and lockdep_sys_exit calls.</title>
<updated>2007-11-20T10:13:45Z</updated>
<author>
<name>Heiko Carstens</name>
</author>
<published>2007-11-20T10:13:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=411788ea7fca01ee803af8225ac35807b4d02050'/>
<id>urn:sha1:411788ea7fca01ee803af8225ac35807b4d02050</id>
<content type='text'>
Current support for TRACE_IRQFLAGS and lockdep_sys_exit is broken.
IRQ flag tracing is broken for program checks. Even worse is that
the newly introduced calls to lockdep_sys_exit are in the critical
section code which is not supposed to call any C functions. In
addition the checks if locks are still held are also done when
returning to kernel code which is broken as well.
Fix all this by disabling interrupts and machine checks at the
exit paths and then do the appropriate checks and calls.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
</feed>
