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

    Gerald Schaefer
     

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

    Heiko Carstens
     

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

    Heiko Carstens
     
  • Add support to boot from a named saved segment (NSS).

    Signed-off-by: Hongjie Yang
    Signed-off-by: Martin Schwidefsky

    Hongjie Yang
     

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

    Hongjie Yang
     

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

    Heiko Carstens
     
  • 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

    Heiko Carstens
     
  • 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

    Heiko Carstens
     

05 Oct, 2006

1 commit


01 Oct, 2006

1 commit


20 Sep, 2006

3 commits

  • Convert GET_IPL_DEVICE assembler macro to C function.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • 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

    Michael Holzheu
     
  • 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

    Heiko Carstens
     

18 Jul, 2006

1 commit


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

    Heiko Carstens
     
  • 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

    Heiko Carstens
     

07 Nov, 2005

1 commit