12 Feb, 2007

40 commits

  • Use ARRAY_SIZE macro already defined in linux/kernel.h

    Signed-off-by: Ahmed S. Darwish
    Cc: Miles Bader
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ahmed S. Darwish
     
  • This patch fixes some missing ptrace bits on x86_64. PTRACE_ARCH_PRCTL is
    hooked up and implemented. This required generalizing arch_prctl_skas
    slightly to take a task_struct to modify. Previously, it always operated on
    current.

    Reading and writing the debug registers is also enabled by un-ifdefing the
    code that implements that. It turns out that x86_64 is identical to i386, so
    the same code can be used.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • x86_64 needs some TLS fixes. What was missing was remembering the child
    thread id during clone and stuffing it into the child during each context
    switch.

    The %fs value is stored separately in the thread structure since the host
    controls what effect it has on the actual register file. The host also needs
    to store it in its own thread struct, so we need the value kept outside the
    register file.

    arch_prctl_skas was fixed to call PTRACE_ARCH_PRCTL appropriately. There is
    some saving and restoring of registers in the ARCH_SET_* cases so that the
    correct set of registers are changed on the host and restored to the process
    when it runs again.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • The startup code panics a lot if anything goes wrong early on. This is wrong
    for several reasons, like the kernel isn't running, so you can't really be
    calling into it yet, but the harm comes from useful error messages being
    trapped in the printk ring where no one will ever see them.

    This patch changes these panics to perror and printf in wrappers which also
    exit. Normal, informational, prints are also wrapped so that fflush(stdout)
    is called after each one. This is so the output appears in the correct
    sequence in the event of an error.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Comment the lack of locking of data that's set up once at boot time.

    Also fixed a couple of bogus printks.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Formatting fixes in the register handling code.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Comment the lack of locking of the elf data extracted from the ELF headers
    passed to UML.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Add an error message when two umids are put on the command line.

    umid.h is kind of pointless since it only declares one thing, and that
    is already declared in os.h.

    Commented the lack of locking of some data in os-Linux/umid.h.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Fix formatting in the sigio code.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Comment the use of a mysterious-looking lock.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Tidying the irq code -
    make a variable static
    activate_fd can call kmalloc directly since it's now kernel code
    added a no-locking comment
    fixed a style violation

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Fix a bunch of style violations in mem.c.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • We shouldn't be using the os wrappers from os code - we can use libc directly.
    This patch replaces wrapper calls with libc calls.

    It turns out that os_sigio_async had only one caller, which was in startup.c,
    so that function is moved there and its name changed.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Some style fixes in startup.c.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Add a couple of comments about some non-locked data.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Locking comments and emacs comment removal in the low-level memory and
    temp file code.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Some small locking and formatting fixes in the ubd driver.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Replace global queue and lock with per-device queues and locks. Mostly a
    straightforward replacement of ubd_io_lock with dev->lock and ubd_queue with
    dev->queue.

    Complications -
    There was no way to get a request struct (and queue) from the
    structure sent to the io_thread, so a pointer to the request was
    added. This is needed in ubd_handler in order to kick do_ubd_request
    to process another request.
    Queue initialization is moved from ubd_init to ubd_add.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • CONFIG_HOST_TASK_SIZE doesn't exist any more.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • kstack_depth_to_print can be made const.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • A bunch of the signal handlers can be made static.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • syscall_index and next_syscall_index turn out not to be used.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • It turns out that resource.c isn't needed.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • prev_nsecs and delta need to be arrays, and indexed by CPU number.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • We need to initialize lists properly.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Fix a bunch of style violations in mem.c and physmem.c

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Comment some lack of locking in the iomem driver.

    Also, a couple of variables are in the wrong place, so they are moved.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Eliminate the open_mutex after complaints from Blaisorblade. It turns out
    that the tty count provides the information needed to tell whether we are the
    first opener or last closer.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Remove the last vestiges of devfs from console registration. Change the name
    of the function, plus remove a couple of unused fields from the line_driver
    structure.

    struct lines is no longer needed, all traces of it are gone.

    The only way that I can see to mark a structure as being almost-const is to
    individually const the fields. This is the case for the line_driver
    structure, which has only one modifiable field - a list_head in a
    sub-structure.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Whitespace fixes and emacs comment removal.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • The chan_opts structure is mostly const, and needs no locking. Comment the
    lack of locking on the one field that can change.

    Make all the other fields const. It turned out that console_open_chan didn't
    use its chan_opts argument, so that is deleted from the function and its
    callers.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Comment the lack of locking.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • A couple of list_head declarations can be improved through the use of
    LIST_HEAD().

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Add some missing locking to walks of the transports and opened lists.

    Delete some dead code.

    Comment the lack of some locking.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Kill a compilation warning.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Whitespace and style fixes.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Make a couple of variables static.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Locking fixes. Locking was totally lacking for the mconsole_devices, which
    got a spin lock, and the unplugged pages data, which got a mutex.

    The locking of the mconsole console output code was confused. Now, the
    console_lock (renamed to client_lock) protects the clients list.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Whitespace and style fixes.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Comment the lack of locking and make a couple of variables static.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike