1. 11 2月, 2015 4 次提交
  2. 16 12月, 2014 1 次提交
    • J
      x86: Avoid building unused IRQ entry stubs · 2414e021
      Jan Beulich 提交于
      When X86_LOCAL_APIC (i.e. unconditionally on x86-64),
      first_system_vector will never end up being higher than
      LOCAL_TIMER_VECTOR (0xef), and hence building stubs for vectors
      0xef...0xff is pointlessly reducing code density. Deal with this at
      build time already.
      
      Taking into consideration that X86_64 implies X86_LOCAL_APIC, also
      simplify (and hence make easier to read and more consistent with the
      change done here) some #if-s in arch/x86/kernel/irqinit.c.
      
      While we could further improve the packing of the IRQ entry stubs (the
      four ones now left in the last set could be fit into the four padding
      bytes each of the final four sets have) this doesn't seem to provide
      any real benefit: Both irq_entries_start and common_interrupt getting
      cache line aligned, eliminating the 30th set would just produce 32
      bytes of padding between the 29th and common_interrupt.
      
      [ tglx: Folded lguest fix from Dan Carpenter ]
      Signed-off-by: NJan Beulich <jbeulich@suse.com>
      Cc: Dan Carpenter <dan.carpenter@oracle.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: lguest@lists.ozlabs.org
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Link: http://lkml.kernel.org/r/54574D5F0200007800044389@mail.emea.novell.com
      Link: http://lkml.kernel.org/r/20141115185718.GB6530@mwandaSigned-off-by: NThomas Gleixner <tglx@linutronix.de>
      2414e021
  3. 06 5月, 2014 1 次提交
  4. 30 1月, 2014 1 次提交
  5. 06 9月, 2013 1 次提交
    • R
      lguest: fix GPF in guest when using gdb. · aa96a3c6
      Rusty Russell 提交于
      Since the Guest is in ring 1, it can't read the debug registers: doing
      so gives a number of nasty messages:
      
      (gdb) run
      Starting program: /bin/sleep
      [   31.170230] general protection fault: 0000 [#1] SMP
      [   31.170230] Modules linked in:
      [   31.170230] CPU: 0 PID: 2678 Comm: sleep Not tainted 3.11.0+ #64
      [   31.170230] task: cc5c09b0 ti: cc79c000 task.ti: cc79c000
      [   31.170230] EIP: 0061:[<c01333d8>] EFLAGS: 00000097 CPU: 0
      [   31.170230] EIP is at native_get_debugreg+0x58/0x70
      [   31.170230] EAX: 00000006 EBX: cc79dfb4 ECX: b7fff918 EDX: 00000000
      [   31.170230] ESI: cc5c09b0 EDI: 00000000 EBP: cc79df84 ESP: cc79df84
      [   31.170230]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0069
      [   31.170230] CR0: 00000008 CR2: 081ba69a CR3: 0e2f2000 CR4: 00000000
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      aa96a3c6
  6. 15 7月, 2013 1 次提交
  7. 07 6月, 2013 1 次提交
  8. 29 5月, 2013 1 次提交
    • D
      x86: Increase precision of x86_platform.get/set_wallclock() · 3565184e
      David Vrabel 提交于
      All the virtualized platforms (KVM, lguest and Xen) have persistent
      wallclocks that have more than one second of precision.
      
      read_persistent_wallclock() and update_persistent_wallclock() allow
      for nanosecond precision but their implementation on x86 with
      x86_platform.get/set_wallclock() only allows for one second precision.
      This means guests may see a wallclock time that is off by up to 1
      second.
      
      Make set_wallclock() and get_wallclock() take a struct timespec
      parameter (which allows for nanosecond precision) so KVM and Xen
      guests may start with a more accurate wallclock time and a Xen dom0
      can maintain a more accurate wallclock for guests.
      Signed-off-by: NDavid Vrabel <david.vrabel@citrix.com>
      Signed-off-by: NJohn Stultz <john.stultz@linaro.org>
      3565184e
  9. 20 5月, 2013 1 次提交
  10. 11 4月, 2013 1 次提交
  11. 05 3月, 2013 1 次提交
  12. 15 2月, 2013 1 次提交
  13. 17 11月, 2012 1 次提交
  14. 26 10月, 2012 1 次提交
  15. 28 9月, 2012 1 次提交
  16. 12 1月, 2012 1 次提交
  17. 01 11月, 2011 1 次提交
  18. 27 10月, 2011 1 次提交
  19. 22 7月, 2011 5 次提交
  20. 30 5月, 2011 1 次提交
  21. 07 5月, 2011 1 次提交
  22. 18 3月, 2011 1 次提交
  23. 12 3月, 2011 1 次提交
  24. 22 2月, 2011 1 次提交
    • J
      x86: Convert remaining x86 clocksources to clocksource_register_hz/khz · b01cc1b0
      John Stultz 提交于
      This converts the remaining x86 clocksources to use
      clocksource_register_hz/khz.
      
      CC: jacob.jun.pan@intel.com
      CC: Glauber Costa <glommer@redhat.com>
      CC: Dimitri Sivanich <sivanich@sgi.com>
      CC: Rusty Russell <rusty@rustcorp.com.au>
      CC: Jeremy Fitzhardinge <jeremy@xensource.com>
      CC: Chris McDermott <lcm@us.ibm.com>
      CC: Thomas Gleixner <tglx@linutronix.de>
      Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> [xen]
      Signed-off-by: NJohn Stultz <johnstul@us.ibm.com>
      b01cc1b0
  25. 20 1月, 2011 3 次提交
  26. 04 1月, 2011 1 次提交
  27. 16 12月, 2010 3 次提交
    • R
      lguest: populate initial_page_table · da32dac1
      Rusty Russell 提交于
      Two x86 patches broke lguest:
      1) v2.6.35-492-g72d7c3b3, which changed x86 to use the memblock allocator.
      
      In lguest, the host places linear page tables at the top of mem, which
      used to be enough to get us up to the swapper_pg_dir page tables.  With
      the first patch, the direct mapping tables used that memory:
      
      Before: kernel direct mapping tables up to 4000000 @ 7000-1a000
      After: kernel direct mapping tables up to 4000000 @ 3fed000-4000000
      
      I initially fixed this by lying about the amount of memory we had, so
      the kernel wouldn't blatt the lguest boot pagetables (yuk!), but then...
      
      2) v2.6.36-rc8-54-gb40827fa, which made x86 boot use initial_page_table.
      
      This was initialized in a part of head_32.S which isn't executed by
      lguest; it is then copied into swapper_pg_dir.  So we have to initialize
      it; and anyway we switch to it before we blatt the old tables, so that
      fixes the previous damage as well.
      
      For the moment, I cut & pasted the code into lguest's boot code, but
      next merge window I will merge them.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Cc: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      To: x86@kernel.org
      da32dac1
    • R
      lguest: restore boot speed · bb4093de
      Rusty Russell 提交于
      lguest is dumb and drops *all* the pagetables for set_pte (which is
      only used for kernel mapping manipulation, so it's OK without highmem).
      
      But it's used a lot in boot, too.  As a guest optimization, we
      suppressed this flushing until the first page switch.  Now we have
      initial_page_table, that happens much earlier, so extend the heuristic
      to wait until we switch to something other than the swapper_pg_dir or
      initial_page_table.
      
      As measured on my laptop under kvm, this dropped the time-to-mount-root
      from 48 seconds to 4.3 seconds.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      bb4093de
    • R
      lguest: fix crash lguest_time_init · bb6f1d9a
      Rusty Russell 提交于
      fe25c7fc "x86: lguest: Convert to new irq chip functions" converted
      enable_lguest_irq() to take a struct irq_data *, but didn't fix the one
      internal caller.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      To: x86@kernel.org
      bb6f1d9a
  28. 12 10月, 2010 2 次提交