summaryrefslogtreecommitdiff
path: root/sys/arch
AgeCommit message (Collapse)Author
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().
2008-07-15Add a timecounter based on the $sys_tick register, and use it on machinesMark Kettenis
that have it. Initial diff from art@.
2008-07-15Use -Wa,-Av9b instead of -Wa,-Av9a such that I can use %sys_tick in anMark Kettenis
upcoming change.
2008-07-14Fix struct sysioreg layout after the struct iommureg layout change;Miod Vallat
ok kettenis@
2008-07-14Use uvm_km_valloc_prefer_wait() instead of uvm_km_valloc_wait() in vmapbuf().Miod Vallat
ok art@
2008-07-14Be sure to propagate PSL_O in psw on PCXU* processors to userland processesMiod Vallat
and signal handlers. ok kettenis@
2008-07-14Be sure to propagate PSL_O in psw on PCXU* processors to userland processesMiod Vallat
and signal handlers. ok kettenis@
2008-07-14Zap some dead commons that are no longer used.Artur Grabowski
"Commitski!" miod@
2008-07-12Make the console interrupt driven.Mark Kettenis
2008-07-12Shave off a few instructions from cpu_switchto().Mark Kettenis
2008-07-12Add a temporary hack to attach only the first thread of every core forMark Kettenis
MULTIPROCESSOR kernels. We map 'struct cpuinfo' at the same virtual address on every processor, but since threads on the same core share an MMU this doesn't quite work. With the hack we are at least able to use the other core (and any additional processors).
2008-07-12Add core(4).Mark Kettenis
2008-07-12Perform IOMMU cache flushes on Oberon.Mark Kettenis
2008-07-12Use the proper interrupt target ID on Oberon.Mark Kettenis
2008-07-12Adjust SUN4U_TLB_RESERVED_MASK for updated SUN4U_TLB_PA_MASK.Mark Kettenis
2008-07-12Don't install interrupt handlers for non-exitsing interrupts on CMU-CH.Mark Kettenis
2008-07-12On Fujitsu's SPARC64 CPUs, the data_access_error trap is synchronous, and AFSRMark Kettenis
will be 0. Check SFSR too, before deciding there's no fault.