1. 20 3月, 2006 3 次提交
    • D
      [SPARC64]: Move away from virtual page tables, part 1. · 74bf4312
      David S. Miller 提交于
      We now use the TSB hardware assist features of the UltraSPARC
      MMUs.
      
      SMP is currently knowingly broken, we need to find another place
      to store the per-cpu base pointers.  We hid them away in the TSB
      base register, and that obviously will not work any more :-)
      
      Another known broken case is non-8KB base page size.
      
      Also noticed that flush_tlb_all() is not referenced anywhere, only
      the internal __flush_tlb_all() (local cpu only) is used by the
      sparc64 port, so we can get rid of flush_tlb_all().
      
      The kernel gets it's own 8KB TSB (swapper_tsb) and each address space
      gets it's own private 8K TSB.  Later we can add code to dynamically
      increase the size of per-process TSB as the RSS grows.  An 8KB TSB is
      good enough for up to about a 4MB RSS, after which the TSB starts to
      incur many capacity and conflict misses.
      
      We even accumulate OBP translations into the kernel TSB.
      
      Another area for refinement is large page size support.  We could use
      a secondary address space TSB to handle those.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      74bf4312
    • E
      [SPARC]: BUG_ON() Conversion in arch/sparc/kernel/ioport.c · 30d4d1ff
      Eric Sesterhenn 提交于
      this changes if() BUG(); constructs to BUG_ON() which is
      cleaner and can better optimized away
      Signed-off-by: NEric Sesterhenn <snakebyte@gmx.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      30d4d1ff
    • B
      [SPARC64]: fix sparc_floppy_irq's auxio_register reseting · 94bbc176
      Bernhard R Link 提交于
      The patch "[SPARC64]: Get rid of fast IRQ feature"
      moved the the code from arch/sparc64/kernel/entry.S:
            lduba           [%g7] ASI_PHYS_BYPASS_EC_E, %g5
            or              %g5, AUXIO_AUX1_FTCNT, %g5
            stba            %g5, [%g7] ASI_PHYS_BYPASS_EC_E
            andn            %g5, AUXIO_AUX1_FTCNT, %g5
            stba            %g5, [%g7] ASI_PHYS_BYPASS_EC_E
      to arch/sparc64/kernel/irq.c:
                    val = readb(auxio_register);
                    val |= AUXIO_AUX1_FTCNT;
                    writeb(val, auxio_register);
                    val &= AUXIO_AUX1_FTCNT;
                    writeb(val, auxio_register);
      This looks like it it missing a bitwise not, which is reintroduced
      by this patch.
      
      Due to lack of a floppy device, I could not test it, but it looks
      evident.
      Signed-off-by: NBernhard R Link <brlink@debian.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      94bbc176
  2. 19 3月, 2006 8 次提交
  3. 17 3月, 2006 1 次提交
  4. 16 3月, 2006 14 次提交
  5. 15 3月, 2006 3 次提交
    • R
      [ARM] Fix "thead" typo · 17320a96
      Russell King 提交于
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      17320a96
    • M
      [PATCH] Plug kdump shutdown race window · 67963132
      Maneesh Soni 提交于
      lapic_shutdown() re-enables interrupts which is un-desirable for panic
      case, so use local_irq_save() and local_irq_restore() to keep the irqs
      disabled for kexec on panic case, and close a possible race window while
      kdump shutdown as shown in this stack trace
      
         -- BUG: spinlock lockup on CPU#1, bash/4396, c52781a0
         [<c01c1870>] _raw_spin_lock+0xb7/0xd2
         [<c029e148>] _spin_lock+0x6/0x8
         [<c011b33f>] scheduler_tick+0xe7/0x328
         [<c0128a7c>] update_process_times+0x51/0x5d
         [<c0114592>] smp_apic_timer_interrupt+0x4f/0x58
         [<c01141ff>] lapic_shutdown+0x76/0x7e
         [<c0104d7c>] apic_timer_interrupt+0x1c/0x30
         [<c01141ff>] lapic_shutdown+0x76/0x7e
         [<c0116659>] machine_crash_shutdown+0x83/0xaa
         [<c013cc36>] crash_kexec+0xc1/0xe3
         [<c029e148>] _spin_lock+0x6/0x8
         [<c013cc22>] crash_kexec+0xad/0xe3
         [<c0215280>] __handle_sysrq+0x84/0xfd
         [<c018d937>] write_sysrq_trigger+0x2c/0x35
         [<c015e47b>] vfs_write+0xa2/0x13b
         [<c015ea73>] sys_write+0x3b/0x64
         [<c0103c69>] syscall_call+0x7/0xb
      Signed-off-by: NManeesh Soni <maneesh@in.ibm.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      67963132
    • L
      Revert "[PATCH] x86-64: Fix up handling of non canonical user RIPs" · cbf0ec6e
      Linus Torvalds 提交于
      This reverts commit c33d4568.
      
      Andrew Clayton and Hugh Dickins report that it's broken for them and
      causes strange page table and slab corruption, and spontaneous reboots.
      
      Let's get it right next time.
      
      Cc: Andrew Clayton <andrew@rootshell.co.uk>
      Cc: Hugh Dickins <hugh@veritas.com>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      cbf0ec6e
  6. 14 3月, 2006 1 次提交
    • P
      powerpc: Disallow lparcfg being a module · 82dfdcae
      Paul Mackerras 提交于
      The lparcfg code needs several things which are pretty arcane internal
      details and which we don't want to export, which means that lparcfg
      doesn't work when built as a module.  This makes it a bool instead of
      a tristate in the Kconfig so that users can't try to build it as a
      module.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      82dfdcae
  7. 13 3月, 2006 2 次提交
  8. 11 3月, 2006 2 次提交
  9. 10 3月, 2006 6 次提交