02 Aug, 2012

1 commit

  • UML guest processes now get correct siginfo_t for SIGTRAP, SIGFPE,
    SIGILL and SIGBUS. Specifically, si_addr and si_code are now correct
    where previously they were si_addr = NULL and si_code = 128.

    Signed-off-by: Martin Pärtel
    Signed-off-by: Richard Weinberger

    Martin Pärtel
     

25 Mar, 2012

1 commit

  • Since commit [e58aa3d2: genirq: Run irq handlers with interrupts disabled],
    We run all interrupt handlers with interrupts disabled
    and we even check and yell when an interrupt handler
    returns with interrupts enabled (see commit [b738a50a:
    genirq: Warn when handler enables interrupts]).

    So now this flag is a NOOP and can be removed.

    Signed-off-by: Yong Zhang
    Signed-off-by: Richard Weinberger

    Yong Zhang
     

22 Nov, 2011

1 commit


04 Aug, 2010

1 commit


27 Jul, 2010

1 commit


22 Apr, 2009

1 commit

  • Pass clocksource pointer to the read() callback for clocksources. This
    allows us to share the callback between multiple instances.

    [hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods]
    [akpm@linux-foundation.org: cleanup]
    Signed-off-by: Magnus Damm
    Acked-by: John Stultz
    Cc: Thomas Gleixner
    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Magnus Damm
     

13 Dec, 2008

1 commit


25 Jul, 2008

1 commit

  • - Make some variables and functions static, since they don't need to be
    global.

    - Remove an unused function - arch/um/kernel/time.c::sched_clock().

    - Clean the style a bit as complained by checkpatch.pl.

    Cc: Jeff Dike
    Signed-off-by: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    WANG Cong
     

13 May, 2008

1 commit

  • UML's supposed nanosecond clock interacts badly with NTP when NTP
    decides that the clock has drifted ahead and needs to be slowed down.
    Slowing down the clock is done by decrementing the cycle-to-nanosecond
    multiplier, which is 1. Decrementing that gives you 0 and time is
    stopped.

    This is fixed by switching to a microsecond clock, with a multiplier
    of 1000.

    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     

29 Apr, 2008

1 commit


06 Feb, 2008

1 commit

  • Joe Perches noticed some printks in smp.c that needed fixing.

    While I was in there, I did the usual tidying in arch/um/kernel, which
    should be fairly style-clean at this point:
    copyright updates
    emacs formatting comments removal
    include tidying
    style fixes

    Cc: Joe Perches
    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     

17 Oct, 2007

11 commits

  • There are various uses of powers of 1000, plus the odd BILLION constant in the
    time code. However, there are perfectly good definitions of *SEC_PER_*SEC in
    linux/time.h which can be used instaed.

    These are replaced directly in kernel code. Userspace code imports those
    constants as UM_*SEC_PER_*SEC and uses these.

    Signed-off-by: Jeff Dike
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Enable tickless support.

    CONFIG_TICK_ONESHOT and CONFIG_NO_HZ are enabled.

    itimer_clockevent gets CLOCK_EVT_FEAT_ONESHOT and an implementation of
    .set_next_event.

    CONFIG_UML_REAL_TIME_CLOCK goes away because it only makes sense when there is
    a clock ticking away all the time. timer_handler now just calls do_IRQ once
    without trying to figure out how many ticks to emulate.

    The idle loop now needs to turn ticking on and off.

    Userspace ticks keep happening as usual. However, the userspace loop keep
    track of when the next wakeup should happen and suppresses process ticks until
    that happens.

    Signed-off-by: Jeff Dike
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Add clocksource support.

    Signed-off-by: Jeff Dike
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Enable CONFIG_GENERIC_CLOCKEVENTS.

    timer_irq gets its name changed to timer_handler, and becomes the recipient of
    timer signals.

    The clock_event_device is set up to imitate the current ticking clock, i.e.
    CLOCK_EVT_FEAT_ONESHOT is not enabled yet.

    disable_timer now doesn't ignore SIGALRM and SIGVTALRM because that breaks
    delay calibration.

    Signed-off-by: Jeff Dike
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Enable CONFIG_GENERIC_TIME.

    As a side-effect of this, the UML implementations of do_gettimeofday and
    do_settimeofday go away, as these are provided by generic code. set_time also
    goes away since it was only used by do_settimeofday.

    Signed-off-by: Jeff Dike
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Move timer signal initialization from init_irq_signals to a new function,
    timer_init.

    Signed-off-by: Jeff Dike
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • set_interval took a timer type as an argument, but it always specified a
    virtual timer. So, it is not needed, and it is gone, and set_interval is
    simplified appropriately.

    Signed-off-by: Jeff Dike
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Eliminate hz() since its only purpose was to provide a kernel-space constant
    to userspace code. This can be done instead by providing the constant
    directly through kernel_constants.h.

    Signed-off-by: Jeff Dike
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Formatting changes in the files which have been changed in the course
    of folding foo_skas functions into their callers. These include:
    copyright updates
    header file trimming
    style fixes
    adding severity to printks

    These changes should be entirely non-functional.

    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • This patch makes a number of simplifications enabled by the removal of
    CHOOSE_MODE. There were lots of functions that looked like

    int foo(args){
    foo_skas(args);
    }

    The bodies of foo_skas are now folded into foo, and their declarations (and
    sometimes entire header files) are deleted.

    In addition, the union uml_pt_regs, which was a union between the tt and skas
    register formats, is now a struct, with the tt-mode arm of the union being
    removed.

    It turns out that usr2_handler was unused, so it is gone.

    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • The next stage after removing code which depends on CONFIG_MODE_TT is removing
    the CHOOSE_MODE abstraction, which provided both compile-time and run-time
    branching to either tt-mode or skas-mode code.

    This patch removes choose-mode.h and all inclusions of it, and replaces all
    CHOOSE_MODE invocations with the skas branch. This leaves a number of trivial
    functions which will be dealt with in a later patch.

    There are some changes in the uaccess and tls support which go somewhat beyond
    this and eliminate some of the now-redundant functions.

    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     

09 May, 2007

1 commit

  • The ever-vigilant users of linode.com noticed that an idle 2.6 UML has a
    persistent load average of ~.4.

    It turns out that because the UML timer handler processed softirqs before
    actually delivering the tick, the tick was counted in the context of the idle
    thread about half the time.

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

    Jeff Dike
     

08 May, 2007

2 commits

  • With the current timekeeping, !CONFIG_UML_REAL_TIME_CLOCK has
    inconsistent behavior. Previously, gettimeofday could be (and was)
    isolated from the clock ticking. Now, it's not, so when
    CONFIG_UML_REAL_TIME_CLOCK is disabled, gettimeofday must progress in
    lockstep with the clock, making it fully virtual.

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

    Jeff Dike
     
  • user_util.h isn't needed any more, so delete it and remove all includes of it.

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

    Jeff Dike
     

12 Feb, 2007

1 commit


09 Oct, 2006

1 commit


30 Sep, 2006

1 commit

  • Pass ticks to do_timer() and update_times(), and adjust x86_64 and s390
    timer interrupt handler with this change.

    Currently update_times() calculates ticks by "jiffies - wall_jiffies", but
    callers of do_timer() should know how many ticks to update. Passing ticks
    get rid of this redundant calculation. Also there are another redundancy
    pointed out by Martin Schwidefsky.

    This cleanup make a barrier added by
    5aee405c662ca644980c184774277fc6d0769a84 needless. So this patch removes
    it.

    As a bonus, this cleanup make wall_jiffies can be removed easily, since now
    wall_jiffies is always synced with jiffies. (This patch does not really
    remove wall_jiffies. It would be another cleanup patch)

    Signed-off-by: Atsushi Nemoto
    Cc: Martin Schwidefsky
    Cc: "Eric W. Biederman"
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: john stultz
    Cc: Andi Kleen
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Acked-by: Russell King
    Cc: Ian Molton
    Cc: Mikael Starvik
    Acked-by: David Howells
    Cc: Yoshinori Sato
    Cc: Hirokazu Takata
    Acked-by: Ralf Baechle
    Cc: Kyle McMartin
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: Paul Mundt
    Cc: Kazumoto Kojima
    Cc: Richard Curnow
    Cc: William Lee Irwin III
    Cc: "David S. Miller"
    Cc: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Cc: Miles Bader
    Cc: Chris Zankel
    Acked-by: "Luck, Tony"
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     

27 Sep, 2006

1 commit

  • um_timer shouldn't add local_offset to the host time since get_time already
    did it. This threw off sleep when a settimeofday or equivalent had happened.

    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     

26 Sep, 2006

2 commits

  • timer_irq_inited was useless, so it is removed.

    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • set_interval returns an error instead of panicing if setitimer fails. Some of
    its callers now check the return.

    enable_timer is largely tt-mode-specific, so it is marked as such, and the
    only skas-mode caller is made to call set-interval instead.

    user_time_init was a no-value-added wrapper around set_interval, so it is
    gone.

    Since set_interval is now called from kernel code, callers no longer pass
    ITIMER_* to it. Instead, they pass a flag which is converted into ITIMER_REAL
    or ITIMER_VIRTUAL.

    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     

11 Jul, 2006

1 commit

  • Move most *_kern.c files in arch/um/kernel to *.c. This makes UML somewhat
    more closely resemble the other arches.

    [akpm@osdl.org: use the new INTF_* flags]
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     

01 Jul, 2006

1 commit

  • Forgot to remove arch/um/kernel/time.c when it was mostly moved to
    arch/um/os-Linux.

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

    Jeff Dike
     

11 Jan, 2006

1 commit


09 Jan, 2006

1 commit


08 Jul, 2005

1 commit

  • This patch implements the clone-stub mechanism, which allows skas0 to run
    with proc_mm==0, even if the clib in UML uses modify_ldt.

    Note: There is a bug in skas3.v7 host patch, that avoids UML-skas from
    running properly on a SMP-box. In full skas3, I never really saw problems,
    but in skas0 they showed up.

    More commentary by jdike - What this patch does is makes sure that the host
    parent of each new host process matches the UML parent of the corresponding
    UML process. This ensures that any changed LDTs are inherited. This is
    done by having clone actually called by the UML process from its stub,
    rather than by the kernel. We have special syscall stubs that are loaded
    onto the stub code page because that code must be completely
    self-contained. These stubs are given C interfaces, and used like normal C
    functions, but there are subtleties. Principally, we have to be careful
    about stack variables in stub_clone_handler after the clone. The code is
    written so that there aren't any - everything boils down to a fixed
    address. If there were any locals, references to them after the clone
    would be wrong because the stack just changed.

    Signed-off-by: Bodo Stroesser
    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bodo Stroesser
     

26 Jun, 2005

1 commit

  • user_time_init_skas and user_time_init_tt were essentially the same. So, this
    merges them, deleting the mode-specific functions and declarations.

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

    Jeff Dike
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds