06 Mar, 2007
1 commit
-
Replaced check_user_space() + __check_access_register with the new
check_space(). The old functions made wrong assumptions about kernel
and user space when the kernel and user address spaces are switched
(kernel in home space, user in primary/secondary space).
Secondly the user process can switch to the accress register mode if
it is running in primary or secondary mode. In addition it can load
an arbitrary value to the access registers. If any other value than
0 for primary space or 1 for secondary space is loaded and memory
is accessed using the base register related to the access register,
the program should be terminated with a SIGSEGV. To achieve that the
DUALD pointer in the DUCT and the PSALD pointer in the PASTE need
to point to an array of 8 invalid access-list entries to get a
ALEN-translation exception if an invalid alet is used.Signed-off-by: Gerald Schaefer
Signed-off-by: Martin Schwidefsky
21 Feb, 2007
1 commit
-
With CONFIG_SHARED_KERNEL the kernel text segment that might be in a
read only memory sections starts at 1MB. Memory between 0x12000 and
0x100000 is unused then. Free this, so we have appr. an extra MB
of memory available.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
06 Feb, 2007
2 commits
-
Hopefully this will make it more maintainable and less error prone.
Code makes use of search_exception_tables(). Since it calls this
function before the kernel exeception table is sorted, there is an
early call to sort_main_extable().This way it's easy to use the already present infrastructure of fixup
sections. Also this would allows to easily convert the rest of
head[31|64].S into C code.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Add support to boot from a named saved segment (NSS).
Signed-off-by: Hongjie Yang
Signed-off-by: Martin Schwidefsky
09 Jan, 2007
1 commit
-
Fix a memory leak problem in the memory detection routines. A memory leak
of 128k occurs when we have a contiguous memory with mixed access-mode
(read or write) ranges.Signed-off-by: Hongjie Yang
Signed-off-by: Martin Schwidefsky
04 Dec, 2006
3 commits
-
VMALLOC_END on 31bit should be 0x8000000UL instead of 0x7fffffffL.
The page mask which is used to make sure memory_end is on 4MB/2MB
boundary is wrong and not needed. Therefore remove it.
Make sure a vmalloc area does also exist and work on (future)
machines with 4TB and more memory.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
Need this at yet another file and don't want to add yet another
extern...Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
If the memory detection code would ever reach the point where it would
load the wait psw, it would generate a specification exception and the
system would crash at ipl time. This is because of a misaligned wait
psw. It needs to be on a double word boundary instead of a word
boundary.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
05 Oct, 2006
1 commit
-
Signed-off-by: Heiko Carstens
01 Oct, 2006
1 commit
-
Use the new diagnose 0x9c in the spinlock implementation for s390. It
yields the remaining timeslice of the virtual cpu that tries to acquire a
lock to the virtual cpu that is the current holder of the lock.Signed-off-by: Martin Schwidefsky
Cc: Ingo Molnar
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
20 Sep, 2006
3 commits
-
Convert GET_IPL_DEVICE assembler macro to C function.
Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
It is now possible to specify a ccw/fcp dump device which is used to
automatically create a system dump in case of a kernel panic. The dump
device can be configured under /sys/firmware/dump.
In addition it is now possible to specify a ccw/fcp device which is used
for the next reboot of Linux. The reipl device can be configured under
/sys/firmware/reipl.Signed-off-by: Michael Holzheu
Signed-off-by: Martin Schwidefsky -
Move initrd if the bitmap of the bootmem allocator would overwrite it.
In addition this patch sets the default size and address of the initrd to 0.
Therefore all boot loaders must set the initrd size and address correctly.
This is especially relevant for ftp boot via HMC/SE, where this change
requires a special patch file entry in the .ins file which sets these two
values contained at address 0x10408 and 0x10410.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
18 Jul, 2006
1 commit
-
SLES9 binutils don't like .align 4096 statements in head.S. Work around this
by using .org statements.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
29 Jun, 2006
2 commits
-
There is almost no room left for any new code between 0x10000
and 0x10480. Move the code from 0x10000 to 0x11000.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky -
The wrong base register is used to read a value from the sclp data
structure. The value is used to calculate the memory size.
Use correct register %r4.Signed-off-by: Heiko Carstens
Signed-off-by: Martin Schwidefsky
07 Nov, 2005
1 commit
-
Merge common parts of head.S and head64.S into head.S and move architecture
specific parts to head31.S and head64.S respectively. Saves us ~500 lines
of duplicated assembly code.Acked-by: Martin Schwidefsky
Signed-off-by: Heiko Carstens
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds