summaryrefslogtreecommitdiff
path: root/sys/arch
AgeCommit message (Collapse)Author
2008-07-28No longer clear ci_want_resched within cpu_switchto(), now that it's doneMiod Vallat
in the MI code.
2008-07-28regenMiod Vallat
2008-07-28Put XBOW in the generated constants, not PCI...Miod Vallat
2008-07-28In addition to cop0 sr, prevent cop0 ic from being modified inMiod Vallat
process_write_regs().
2008-07-28Remove dead code.Miod Vallat
2008-07-28In process_write_regs() and sigreturn(), be more strict about the bitsMiod Vallat
userland is allowed to change in psr.
2008-07-28According to the manual, delay slot kill the benefits of being superscalar,Miod Vallat
so don't use any in the 88110-specific parts of locore.
2008-07-27Increase the size of the TSB on large memory machines. This make buildingMark Kettenis
a kernel 10-15% faster on the t1k. Don't do this for SMALL_KERNEL though, otherwise the 4MB locked mapping for the data segment will be too small to include a ramdisk.
2008-07-25phyio -> physioMiod Vallat
2008-07-25Improve eisa bus probe by deciding the number of logical eisa slots fromMiod Vallat
the motherboard eisa id, instead of using a ``one size fits all'' value which is too large on more than half the eisa-capable alpha designs. The id -> slot # logic is based on the alpha ECU configuration files, so we should not perform worse than ECU itself (and see all slots ECU sees too).
2008-07-25The PIE address range defaults are too big for alpha and can land on orKurt Miller
above the stack. Fix by mapping PIE into the first quarter of the address space before stack. "will do for now" miod@
2008-07-25Work around a problem on the t5120 where top(1) would lock up the system forMark Kettenis
several minutes by making pmap_resident_count() return 0 for the kernel pmap. discussed with miod@
2008-07-25In gdt_grow, always map the gdt on the secondary cpus too. This farArtur Grabowski
we depended on the pageability of the kernel_map to map them which worked most of the time, until we hit the most improbable case - when cpu_switchto wanted to fault in the missing gdt page, which at this moment is Verboten. kettenis@ ok
2008-07-25Switch to a temporary stack early on such that we don't lose if the stackMark Kettenis
provided by the PROM gets flushed out of the TLB before we install our own trap table. Makes RAMDISK kernels work on T2 systems.
2008-07-24sng_exponent should be sng_exp (MI code now cares); ok martynasTheo de Raadt
2008-07-24Add code to decode machine checks on Avanti, providing a description of theMiod Vallat
problem and lots of register dumps to help the skilled user to fix the hardware. Not compiled if option SMALL_KERNEL. From NetBSD.
2008-07-24Do not define vax-inspired LOWPAGES and HIGHPAGES anymore, they make noMiod Vallat
sense on m68k. Give USRSTACK its real (HP-UX compatible) value instead of computing it from HIGHPAGES. No functional change.
2008-07-23Do not rely on an <ichc>invisible cast</ichc> to return failure inMiod Vallat
dino_intr_map(); rather than adding the missing cast, make the intent of the code clearer by explicitenly testing for PCI_INTERRUPT_LINE being ff. While there, enable the out-of-extent-range checks in dino_memmap() and dino_memalloc() even if no option DEBUG, but return failure instead of panicing. discussed with and ok kettenis@ marco@
2008-07-23So it turns outthe HP engineers changed the PA-RISC 2.0 architectureMark Kettenis
after it was published. In particular, they changed the maximum cache aliasing boundary from 1MB to 16MB. It turns that on the PA-8700 the aliasing boundary is actually 4MB (reported as such by the firmware at least). There are some comments in the Linux code that suggest that HP never actually built PA-RISC CPUs with an 8MB or 16MB aliasing boundary. So raise the aliasing boundary to 4MB. This fixes the weird ps(1) problem where it didn't print its own arguments correctly.
2008-07-23Correct cases of mishandling of pending reads and writes to preventBob Beck
them going negative - this consists of identifying a number of cases of IO not going through the buffer cache and marking those buffers with B_RAW - as well as fixing nfs_bio to show pending writes and reads through the buffer cache via NFS still has a problem with mishandling the counters I believe in the async/sync fallback case where counters stay positive which will be addressed seperately. ok tedu@ deraadt@
2008-07-23Clear correctable errors after handling them. From Bjorn Andersson.Mark Kettenis
2008-07-22None of the pceb EISA alpha designs has more than 8 physical slots, so don'tMiod Vallat
bother trying to probe more.
2008-07-22Proper interrupt swizzling for devices behind bridges; matches what SRMMiod Vallat
configures when it can. ok kettenis@
2008-07-22Modify pci_intr_map() implementation to pass the pci_attach_args to theMiod Vallat
per-platform implementation, instead of selected members of it; this allows us to get rid of some globals, and paves the way for better bridge support on some models.
2008-07-22Do not define VM_MIN_ADDRESS as __LDPGSZ, but provide its value, to preventMiod Vallat
uvm_map.c from requiring <machine/exec.h>.
2008-07-21vaxfp.h is VAX pendant of ieee.h. it defines VAX f fp, and VAX dMartynas Venckus
fp; from NetBSD ok millert@
2008-07-21- add proper double_t and float_t definitions for each archMartynas Venckus
- math.h shouldn't define FLT_EVAL_METHOD, but float.h should (per C99). remove from math.h, and add proper definitions in float.h ok millert@
2008-07-21Implement the cpu_yield hypervisor call. Use it in the idle loop forArtur Grabowski
SUN4V to let it suspend strands (why does everyone invent own words for hyperthreads?). This gives a huge performance boost when most of the cpus are idle. kettenis@ ok
2008-07-21IPL_NONE doesn't really exist. The corresponding bit in theMark Kettenis
per-processor soft interrupt register is used for hardware clock-tick counter interrupts. So make smp_signotify() use IPL_SOFTINT instead such that we don't unintentionally trigger a spurious clock interrupt. This seems to fix the timekeeping anomalies on the t1k. tested by art@
2008-07-21nam2blk[] needs a "vnd" entry for some things (like softraid)Todd T. Fries
ok marco@ no objection miod@ need this for regress djm@ no objection krw@
2008-07-20no, ipmi is still not fine on some machines (since acpi got enabled)Theo de Raadt
2008-07-20Nuke unused readbsdlabel() function.Kenneth R Westerback
ok jsing@
2008-07-20Use NULL instead of 0 for pointer parameters.Kenneth R Westerback
ok jsing@
2008-07-20Provide a timecounter based on the UltraSPARC IIe STICK logic.Mark Kettenis
2008-07-19In dec_1000a_intr_map(), use the SRM hint if available. This allows cardsMiod Vallat
plugged to the bottom 4 PCI slots of AlphaServer 1000A (attaching to pci1 behind a ppb) to get interrupts. No regressions on AlphaServer 800 (which do not have these extra slots).
2008-07-19Add code to walk the eisa configuration, from NetBSD. This configurationMiod Vallat
is not used yet, but this seems to ``warm up'' the eisa chips so that accesses to the eisa bus later do not cause machine checks.
2008-07-19In _io_map(), make sure the whole range fits in one of the io windows,Miod Vallat
instead of only the starting address. From NetBSD.
2008-07-19Add acx(4) at cardbus(4).Mark Kettenis
2008-07-19Unbreak the tree. Pointed out by James Hartley.Mark Kettenis
2008-07-18Add a macro that clears the want_resched flag that need_resched sets.Artur Grabowski
Right now when mi_switch picks up the same proc, we didn't clear the flag which would mean that every time we service an AST we would attempt a context switch. For some architectures, amd64 being probably the most extreme, that meant attempting to context switch for every trap and interrupt. Now we clear_resched explicitly after every context switch, even if it didn't do anything. Which also allows us to remove some more code in cpu_switchto (not done yet). miod@ ok
2008-07-18Add ohci(4) and ehci(4) at cardbus(4).Mark Kettenis
2008-07-18Determine the free address space by looking at the "available" property ofMark Kettenis
the PCI host bridge if we're not running on an UltraBook. Fix allocation of bus number such that it works on machines that have OpenBoot 4.x.
2008-07-18Protect dma operations with splvm instead of splhigh, that's faster thanMiod Vallat
splbio and won't delay clock interrupts.
2008-07-18Make IPL_VM level 5, which is guaranteed to be above bio tty and net, insteadMiod Vallat
of making it dynamic and the smallest value above the former three. Idea from NetBSD.
2008-07-18Add new uvm function called uvm_map_pie() which takes align as aKurt Miller
parameter and returns an aligned random load address for position independent executables to use. This also adds three new vmparam.h defines to specify the maximum address, minimum address and minimum allowed alignment for uvm_map_pie() to use. The PIE address range for i386 was carefully selected to work well within the i386 W^X framework. With much help and feedback from weingart@. okay weingart@, miod@, kettenis@, drahn@
2008-07-16Add a new parameter to pckbc_cnattach(): flags to put in the pckbc bowels.Miod Vallat
For now, only one such flag is defined, PCKBC_CANT_TRANSLATE. It hints pckbc that the device does not behave correctly to the ``set translation'' commands. Set this flag if we are running on a Tadpole Ultrabook machine, which needs it. This makes the built-in keyboard work correctly on this laptop (with the help of the software translation pckbd diff). tested & ok kettenis@
2008-07-16Send unused string literal ``mapme'' to nirvana.Miod Vallat
2008-07-16This file is long unused.Miod Vallat
2008-07-16Implement pckbc_xt_translation() in gsckbc. Thus, we can attach pckbd instead ofMiod Vallat
gsckbd; the former will cause a proper translation page to be selected by the keyboard. Because of this, we no longer depend on the page the keyboard is left in by the PDC (page 2 for all machines but the PrecisionBook, which is in page 3), and there is no longer any need to use separate keyboard maps.
2008-07-16Now that uvm_pglistalloc() does not lose on large memory gaps, do notMiod Vallat
restrict the memory allocation range in _dmamem_alloc().