1. 24 Jul, 2007 5 commits
    • Jeff Dike's avatar
      uml: more __init annotations · 97a1fcbb
      Jeff Dike authored
      2.6.23-rc1 turned up another batch of references from non-__init code to
      __init code.  In most cases, these were missing __init annotations.  In one
      case (os_drop_memory), the annotation was present but wrong.
      
      init_maps is __init, but for some reason was being very careful about the
      mechanism by which it allocated memory, checking whether it was OK to use
      kmalloc (at this point in the boot, it definitely isn't) and using either
      alloc_bootmem_low_pages or kmalloc/vmalloc.  So, the kmalloc/vmalloc code is
      removed.
      Signed-off-by: default avatarJeff Dike <jdike@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      97a1fcbb
    • Jeff Dike's avatar
      uml: fix aio compilation bug · da3e30e7
      Jeff Dike authored
      Restructure do_aio thanks to commments from Ulrich and Al.
      
      Uli started this by seeing that UML's initialization of a struct iocb
      initialized fields that it shouldn't.
      
      Al followed up by adding the following cleanups:
      	eliminating a variable by just using an anonymous structure in
      its place.
      	hoisting a duplicated line out of the switch.
      	simplifying the error checking at the end.
      
      I added a severity to the printk.
      Signed-off-by: default avatarJeff Dike <jdike@linux.intel.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Ulrich Drepper <drepper@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      da3e30e7
    • Jeff Dike's avatar
      uml: fix string exporting on UML/i386 · 1a65f493
      Jeff Dike authored
      In 2.6.23-rc1, i386 fiddled its string support such that UML started getting
      undefined references from modules.  The UML asm/string.h was including the
      i386 string.h, which defined __HAVE_ARCH_STR*, but the corresponding
      implementations weren't being pulled in.
      
      This is fixed by adding arch/i386/lib/string.h to the list of host
      architecture files to be pulled in to UML.
      
      A complication is that the libc exports file assumed that the generic strlen
      and strstr weren't in use (i.e.  __HAVE_ARCH_STR is defined), then they aren't
      exported.  This is untrue for strlen, which is exported in either case, so
      this logic is not needed.
      Signed-off-by: default avatarJeff Dike <jdike@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1a65f493
    • Ulrich Drepper's avatar
      fallocate syscall interface deficiency · 0d786d4a
      Ulrich Drepper authored
      The fallocate syscall returns ENOSYS in case the filesystem does not support
      the operation and expects the userlevel code to fill in.  This is good in
      concept.
      
      The problem is that the libc code for old kernels should be able to
      distinguish the case where the syscall is not at all available vs not
      functioning for a specific mount point.  As is this is not possible and we
      always have to invoke the syscall even if the kernel doesn't support it.
      
      I suggest the following patch.  Using EOPNOTSUPP is IMO the right thing to do.
      
      Cc: Amit Arora <aarora@in.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0d786d4a
    • Josh Boyer's avatar
      Use resource_size_t for serial port IO addresses · 4f640efb
      Josh Boyer authored
      At present, various parts of the serial code use unsigned long to define
      resource addresses.  This is a problem, because some 32-bit platforms have
      physical addresses larger than 32-bits, and have mmio serial uarts located
      above the 4GB point.
      
      This patch changes the type of mapbase in both struct uart_port and struct
      plat_serial8250_port to resource_size_t, which can be configured to be 64
      bits on such platforms.  The mapbase in serial_struct can't safely be
      changed, because that structure is user visible.
      Signed-off-by: default avatarDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: default avatarJosh Boyer <jwboyer@linux.vnet.ibm.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Jason Wessel <jason.wessel@windriver.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4f640efb
  2. 22 Jul, 2007 35 commits