summaryrefslogtreecommitdiff
path: root/sys/arch
AgeCommit message (Collapse)Author
2009-02-24Add support for hardware acceleration to gbe(4). This provides an acceleratedJoel Sing
framebuffer for the console on SGI O2 workstations. X is still supported via wsfb(4) by switching back to the unaccelerated linear framebuffer mode. Some hardware details and magic numbers from NetBSD's crmfb(4) driver. ok miod@ jasper@ "Sure, go for it" deraadt@
2009-02-24back out est.c 1.8 and bring acpicpu.c all the way back to 1.47 because ofTheo de Raadt
hanging machines. backed out correctly this time, as pointed out by tedu.
2009-02-23When jumping out of the interrupt handler early, clear conditions we knowMiod Vallat
are likely set but don't need specific handling. This silences the interrupt handler if DIAGNOSTIC in some cases. ok grange@ deraadt@
2009-02-22Replace bcmp in while loop with check of ac_multirangecnt.Mark Kettenis
From brad@comstyle.com. ok deraadt@
2009-02-21dma_cachectl() bye-bye.Miod Vallat
2009-02-21No need to use special copy{from,to}buf for MVME376, the board's buffersMiod Vallat
are mapped uncached anyway.
2009-02-21Previous delay() fix broke 1x2 boards. Make sure delay() works on themMiod Vallat
before mc attaches, as intended.
2009-02-21Move part of the mp lock logic into per-cpu callbacks; on MVME197DP we needMiod Vallat
to disable NMI sources in addition to interrupt sources, and we can not use a quick sequence with shadowing frozen as done for atomic ops. This lets GENERIC.MP boot multiuser on MVME197DP boards, and is so far stable enough to be able to recompile a kernel from scratch (with make -j2).
2009-02-21Get rid of 88110 nmi stacks. This was a good idea, but I outsmarted myselfMiod Vallat
since it was intended to service NMI occuring in user mode, and we could end up invoking preempt() and have another cpu start using this stack, with interesting results.
2009-02-20This should get me nominated for the ``stupidest bug of the year'' award.Miod Vallat
2009-02-20When looping to process external interrupts, do not complain (and panic)Miod Vallat
if another processors sends us an IPI, it will get handled later.
2009-02-20atomic_{set,clear}bits_int were not safe enough on 88110 systems, as theyMiod Vallat
can be interrupted by NMI; move the SMP version of these routines from inlines to a separate file (kernel text shrinks 20KB...). Since the implementation for 88110 becomes really hairy, the pre-main() code is responsible for copying the appropriate code over for kernels configured for both 88100 and 88110 cpus, to avoid having to choose the atomicity strategy at runtime. Hairy, I said. This gets GENERIC.MP run much further on 197DP. Not enough to reach multiuser mode, but boots up to starting sshd and then panics.
2009-02-20Let M188 kernel compile.Miod Vallat
2009-02-20Let the sdmmc adapters tell the sdmmc layer how much sectors they canMiod Vallat
transfer with one command. Build on this and the recent minphys() changes in the sdmmc layer to crank transfers at the maximum possible size instead of a sad DEV_BSIZE. Depending on your controller, this can speed up sdmmc I/O up to 2.5 times.
2009-02-20Tweak debug printf.Mark Kettenis
2009-02-20Make sure we have enough space in the LDC transmit queue to send a DRING_DATAMark Kettenis
message and bail out early instead of dropping packets to be transmitted.
2009-02-19suspend/resume bits so that we can develop this in tree. This is disabled.Marco Peereboom
code from mlarkin and me help from art,toby,jordan and several others ok jordan, go for it deraadt
2009-02-19Make prom_sun4v_soft_state_supported() call the right client interface.Mark Kettenis
2009-02-18In __cpu_simple_lock(), do not hog the bus with exclusive accesses; ifMiod Vallat
xmem didn't return the expected value, spin doing regular loads until it appears we have a chance to grab the lock again.
2009-02-18typoMiod Vallat
2009-02-18Fix thinko in list traversal in vsbic_cmd_ccb().Miod Vallat
2009-02-18Better bus_dmamap_sync() routine, lets vsbic(4) run on 68060 systems, soMiod Vallat
let it attach on them now.
2009-02-18delay() would only work as intended after clock0 attached. Initialize theMiod Vallat
delay strategy variable in locore now; this fixes the occasional console output artefacts on MVME177.
2009-02-18Check for nofault being set in the 68030 bus error handler, too. This makesMiod Vallat
bad[pv]addr work again on MVME147.
2009-02-18Repair DCI[ASU] operation on 68030 processors, broken by accident in r1.53Miod Vallat
2009-02-18- add and enable zyd(4)Jasper Lievisse Adriaanse
ok kettenis@
2009-02-17Add real bus_space and bus_dma to mvme68k, so that it can benefit fromMiod Vallat
recent driver work; this gives us better osiop and vs drivers, vsbic (although currently disabled on 68060 boards until more bugs are fixed), and the ability to boot and root off vs and vsbic. Existing code is not modified and still uses memory mapped structures; this might change eventually as more code gets factorized and moved to MI land.
2009-02-17Declare cpu_model as an array instead of a pointer; makes sysctl hw.modelMark Kettenis
return a sensible value instead of an empty string. tested by jasper@
2009-02-17Pass a cpu_info * to setsoftipi() so it does not need to curcpu(), whichMiod Vallat
synchronizes the pipeline on 88110.
2009-02-17Be sure to pass a valid confargs * to child devices of vme0 when attaching,Miod Vallat
for they will attempt to dereference it and having NULL readable while in the kernel is just cheating.
2009-02-17- increase the delays in tsec_mii_{read,write}reg() , makes my n1200 happierJasper Lievisse Adriaanse
hints and ok kettenis@
2009-02-17Remove debug printf.Mark Kettenis
2009-02-17something has to go... because the piggy developers bloated the kernel againTheo de Raadt
2009-02-17Remove an if 0ed out chunk for BUS_DMA_COHERENT in bus_dmamap_map.Owain Ainsworth
sparc64 is dma coherent and won't be needing this. ok kettenis@.
2009-02-17Forgot to crank version after ethernet buffer address change.Miod Vallat
2009-02-17Move ethernet buffers higher in memory, just below our text, to allowMiod Vallat
larger bsd.rd to load correctly. Tested on MVME147 (if_le) and MVME167 (if_ie).
2009-02-16Cancel the automatic boot when you hold ctrl to skip boot.conf.Stuart Henderson
"I like it" deraadt "sweet" tedu "love it" marco
2009-02-16More 88110 SMP work. Contains, horribly entangled:Miod Vallat
- dma_cachectl() split into a ``local cpu only'' and ``all cpus'', and an ipi to broadcast ``local dma_cachectl'' is added. - cpu_info fields are rearranged, to have the 88100-specific information and the 88110-specific information overlap, and has many more 88110 ugly things. - more ipi handling in the 197-specific area. Since it is not possible to have the second processor receive any hardware interrupt (selection is done on a level basis via ISEL, and we definitely do not want the main cpu to lose interrupts), the best we can do is to inflict ourselves a soft interrupt for late ipi processing. It gets used for softclock and hardclock on the secondary processor, but since the soft interrupt dispatcher doesn't have an exception frame, we have to remember parts of it to build a fake clockframe from the soft ipi handler (ugly but works). This now lets GENERIC.MP run a few userland binaries before bugs trigger.
2009-02-16Since NMI are now handled separately, remove the ``interrupt type'' argumentMiod Vallat
from interrupt() and related function pointers.
2009-02-16Extend the scsi_adapter minphys() callback to take a struct scsi_link *Miod Vallat
as additional argument. This will allow intermediate layers between scsi devices such as sd and scsi host adapters to take appropriate action if necessary.
2009-02-16remove incorrect cast of pcb_cr3. okay kettenis@ weingart@Kurt Miller
2009-02-16Rewrite the way the initial processing of exceptions is done on 88110 - weMiod Vallat
now set up both the exception frame structure and the exception stack as soon as possible, so that we can safely get interrupted by an NMI as soon as we reenable shadowing.
2009-02-16Core i7 chips don't have MSR_TEMPERATURE_TARGET register, and blow upKenneth R Westerback
if attempts are made to read it. So read MSR_TEMPERATURE_TARGET only when ci_model == 0xe. Found when my Core i7 box blew up. FreeBSD allows a few more chips but this allows my box to boot. ok jsg@
2009-02-16Store conditionally extended cpuid family/model valuesJonathan Gray
in seperate variables in struct cpu_info instead of duplicating the process of extracting it from the signature. Discussed with several, 'just do it' weingart@, ok mikeb@
2009-02-16Store conditionally extended cpuid family/model valuesJonathan Gray
in seperate variables in struct cpu_info instead of duplicating the process of extracting it from the signature. Use this value when determining the bus clock on P6/family 0x6 chips, which fixes speedstep on bernd@'s ThinkPad x200s. Discussed with several, 'just do it' weingart@, ok mikeb@
2009-02-15If we are on the NMI stack, do not switch to the curpcb stack moments later,Miod Vallat
this defeats the purpose of having a separate stack at this point... Oopsie
2009-02-15Set the limit of the GDT table to its size - 1.Mike Belopuhov
Reported by and diff from Remco <remco at d-compu.dyndns.org>, thanks! Checked with kettenis@. ok kettenis
2009-02-15Properly send a request sense command if the command status asks for it.Miod Vallat
2009-02-15Sun's usage of the "banner-name" property is just too inconsistent to giveMark Kettenis
us a chance to parse it and generate strings for hw.product and hw.vendor. Use the "name" property instead. This should give us a better chance of booting on UltraSPARC T2+ systems. ok deraadt@
2009-02-15copystr(), copyinstr() and copyoutstr() should all return ENAMETOOLONG ifJoel Sing
string length exceeds maxlength. ok miod@