summaryrefslogtreecommitdiff
path: root/sys/arch
AgeCommit message (Collapse)Author
2009-10-26Add support for the Octane power button to power(4). Took me a while toMiod Vallat
figure out how the interrupt was routed from xbridge to xheart... (it bypasses the regular `have xbridge send a xio interrupt packet' mechanism)
2009-10-26Add new xbow routines to explicitely trigger or clear an interrupt source,Miod Vallat
instead of embedding that knowledge in xbridge(4); will be used elsewhere shortly.
2009-10-26Oops; forgot to add this file in previous commit (overhaul of macebusMiod Vallat
interrupts and child device attachment).
2009-10-26Better crime/mace interrupt handling; interrupt information is no longerMiod Vallat
specified in the kernel configuration file, but is provided by macebus(4) as part of the child device attachment args, and provide both crime and mace interrupt bitmasks; this allows us to only really enable interrupt sources we care about, and to avoid invoking interrupt handler we don't need to for the few mace interrupts multiplexed at the crime level.
2009-10-25palm: kernel configuration file changesMarek Vasut
ok brad@ marex@
2009-10-24Match on `esm' as the device name, not `anything starting with esm'; ok dlg@Miod Vallat
2009-10-23Fix logic in ip27_hub_intr_makemasks() to correctly {un,}mask interruptMiod Vallat
sources on level 1.
2009-10-22Completely overhaul interrupt handling on sgi. Cpu state now only stores aMiod Vallat
logical IPL level, and per-platform (IP27/IP30/IP32) code will from the necessary hardware mask registers. This allows the use of more than one interrupt mask register. Also, the generic (platform independent) interrupt code shrinks a lot, and the actual interrupt handler chains and masking information is now per-platform private data. Interrupt dispatching is generated from a template; more routines will be added to the template to reduce platform-specific changes and share as much code as possible. Tested on IP27, IP30, IP32 and IP35.
2009-10-22With the splx() changes, it is no longer necessary to remember which interruptMiod Vallat
sources were masked and saved in ci_ipending, as splx() will unmask what needs to be unmasked anyway. ci_ipending only now needs to store pending soft interrupts, so rename it to ci_softpending.
2009-10-22Implement bus_space_vaddr() for macepcibr.Miod Vallat
2009-10-22Make macebus_intr_disestablish() signature sane, and update its caller.Miod Vallat
Still unimplemented for now.
2009-10-22The recent cleanups make blatantly visible that the pending_int handlerMiod Vallat
does almost exactly what splx() is doing if ipending is zero, and triggers soft interrupts as well. So don't bother checking for ipending in splx, and always invoke pending_int, which gets renamed as splx_handler for consistency.
2009-10-22unifdef -DIMASK_EXTERNAL to the mips code. Support for interrupt masking atMiod Vallat
coprocessor 0 sr level might come back in the future if hardware support requires it, but at the moment it's getting in the way of larger changes. ``In the Attic, noone can hear you scream''
2009-10-22Replace intrmask_t with uint32_t. This types only describes interrupt masksMiod Vallat
in the coprocessor 0 status register (coupled with ICR on rm7k/rm9k), and may be completely alien to real hardware interrupt masks, so don't make things unnecessary confusing.
2009-10-22Introduce a logical xbpci(4) device between xbridge and pci, since more thanMiod Vallat
one pci bus can attach to an xbridge (if PIC) and both being `bus 0' would make dmesg confusing. While there, seize the opportunity of this new dmesg line to display the bus mode (PCI or PCIX) and speed.
2009-10-22Change the #define controlling use of RM7k/RM9k coprocessor 0 ICR toMiod Vallat
RM7000_ICR, instead of IMASK_EXTERNAL, since they are actually different concepts. This code remains disabled since RM7000_ICR is not defined anywhere at the moment.
2009-10-22Correctly initialize the second HUB PI interrupt and calias registers onMiod Vallat
IP35 systems.
2009-10-22Remove a never hit debug panic I commited by accident sometime ago.Miod Vallat
2009-10-22Only play with RM7k coprocessor 0 ICR if IMASK_EXTERNAL is not defined.Miod Vallat
Paves the way for instrusive upcoming changes.
2009-10-22Do not bother invoking hw_setintrmask() in splinit(), spl0() will do it forMiod Vallat
us via splx().
2009-10-22At the end of a context switch and in proc_trampoline(), instead of doing theMiod Vallat
`restore cpl and invoke hw_setintrmask' slippery dance, just invoke splx().
2009-10-22Crank VM_MIN_ADDRESS to prevent userland from being able to mmap zero,Miod Vallat
forgotten long ago and lingering in one of my trees since then...
2009-10-21Replace IP32 hw_setintrmask() .S routine with a two line C routine.Miod Vallat
2009-10-21In atoi(), only check for a base indication iff the string starts with `0'Miod Vallat
and no base has been enforced. Otherwise the leading number of the mec(4) 08:00:69:xx:yy:zz Ethernet address would be interpreted as octal base, followed by an out-of-range `8' which is now rejected but incorrectly skipped; noticed by maja@
2009-10-19Correct a target name so that we don't rebuild vers.o (and thenPhilip Guenthe
bsd) unless some other object has changed. Rebuild and reinstall in /usr/src/usr.sbin/config/ after updating! "I like it" deraadt@
2009-10-16Honour serial console speed on O2 too.Miod Vallat
2009-10-16Make Octane kernels compile again after recent changes. My bad.Miod Vallat
2009-10-16Get serial console speed from prom, and use it instead of hardcoding 9600 bps,Miod Vallat
on all systems but O2 (to catch up soon). Also use the IOC4 MCR register to figure out the IOC4 clock, instead of checking the widget control register, to be consistent with iof(4).
2009-10-15regenMiod Vallat
2009-10-15Sort widgets by type instead of manufacturer code, add some TIO widgets,Miod Vallat
and add comments explaining why it's very unlikely we'll ever see TIO widgets on mips-based SGI systems (unless someone builds a Mengele-style XIO link).
2009-10-15The Octane boot PROM is accessible through the PCI space of the on-board i/oMiod Vallat
widget; make sure we reserve its address span so that no device risks having its resources overlap the PROM.
2009-10-14On coherent systems, all bus_dmamap_sync() needs to do is writebacks, noMiod Vallat
invalidation is necessary. Help jsing@
2009-10-14On IP30 and IP35 systems, try harder to figure out exactly what model we areMiod Vallat
running on, and report this both as the hw.product sysctl and in dmesg. Fuel and Origin 350 are no longer reported as being Origin 300 systems!
2009-10-14Report the crossbow widget part of bedrock as PXBow for consistency withMiod Vallat
the *{X,}Bow names and because this is what IRIX calls it.
2009-10-14Add some comments to explain why the DMA32 physseg is really 2**31 bytesMiod Vallat
long. Prompted by deraadt@ long ago.
2009-10-13Make iof(4) pass its bus speed to children, this in turn allows com(4) toMiod Vallat
pick the right clock if the PCI bus the I/O board is on degrades to 33MHz.
2009-10-13Get rid of devact enum, substitute it with an int and coresponding defines.Paul Irofti
This is needed for the addition of further suspend/resume actions. Okay deraadt@, marco@.
2009-10-11Make sure com@io[cf] attachment stanzas with locators win over generic com*Miod Vallat
lines. (This is done only to make dmesg look nice)
2009-10-10Simplify interrupt address programming to avoid the need to act differentlyMiod Vallat
on PIC; no functional change.
2009-10-10Add extra com@iof stanzas to have the first IOC4 card attach com0-3, insteadMiod Vallat
of com0 and com2-4.
2009-10-10Locators for extra IOC3 cards.Miod Vallat
2009-10-09initialize the disk size instead of getting a random value (always 0) offTheo de Raadt
the stack. this lets disklabels work on non-sgivol disks. ok miod
2009-10-08Program the widget interrupt address register as a whole 64 bit registerMiod Vallat
instead of two 32 bit halves, as the supposedly `upper 32 bits' register ignores writes; makes interrupt on PIC route correctly.
2009-10-08regenMiod Vallat
2009-10-08Recognize the Bedrock as an XBow instead of reporting it as ``unknownMiod Vallat
xbow''; while there report vendor and product id of unknow xbow chips.
2009-10-08Recognize more brick types and probe fooX bricks in the same order asMiod Vallat
foo bricks (they differ by having PCI-X bridges instead of PCI bridges but are otherwise built the same)
2009-10-08PIC actually comes with two sets of widget registers, with different IDs,Miod Vallat
but we only care about the first for matching, so don't bother listing the second one in xbowdevs, and fix the description.
2009-10-07Attach DS1742 style dsrtc to iof (IOC4) too.Miod Vallat
2009-10-07Do not truncate bridge register values to 32 bits, allows the few 64 bit PICMiod Vallat
registers to be programmed correctly.
2009-10-07ipending, cpl moved into cpu_infoTakuya ASADA
OK miod@