summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
2014-12-01Remove an unused gdt structure definition.Mike Larkin
2014-12-01Remove an old and superfluous comment, and fix some KNF style issues inMike Larkin
some other comments.
2014-12-01rxr ioctl handling.Brad Smith
2014-11-30SPARC T4 and later have a pause instruction to voluntarily pause a virtualMark Kettenis
processor in order to give other strands a chance to run. Use it in __mp_lock_spin_hook() to avoid wasting CPU cycles if we're waiting for the kernel or scheduler locks. This is instruction is patched in, just like we already do for the sleep instruction on SPARC64 VI processors. We look at the hwcap-list property of the cpu nodes in the machine description to decide whether the pause instruction is available.
2014-11-30Don't overwrite fields in the message when setting up the REMOTE_NDIS_SET_MSGMark Kettenis
command in urndis_ctrl_set(). Seems many RNDIS hardware doesn't care about the overwritten fields, but the SunMicro Virtual Eth Device found in newer Oracle SPARC hardware does. ok armani@
2014-11-30Unbreak zzz/ZZZ resume - ensure NX is re-enabled on resume (if enabled).Mike Larkin
Also transformed some complicated code that was setting EFER into something much simpler. Tested on a variety of real machines, emulators/VMs, MP, UP, zzz, ZZZ, NX on, NX off ... ok deraadt@
2014-11-30panic if the kernel requests W | X pages; ok kettenisTheo de Raadt
2014-11-30Mask out EFER_LMA when restoring saved EFER on zzz/ZZZ resume as it's aMike Larkin
read only bit. Also fix some comments describing EFER bits that were obviously wrong. ok deraadt@
2014-11-30rxr ioctl handling.Brad Smith
2014-11-29rxr ioctl handling.Brad Smith
ok sf@
2014-11-29it should not be necessary to clear the direction flagTed Unangst
ok deraadt
2014-11-29restore the "hot" memcpy that existed before recent conversion flipflopTed Unangst
2014-11-28regenMark Kettenis
2014-11-28Add a few entries for SPARC T3/T4/T5/M5 machines. The IDT 89H64H16G3 entryMark Kettenis
is a bit of a guess, but it is the only PCIe Gen3 part listed on their website that has enough lanes/ports.
2014-11-27The sti(4) driver copies its ROM into kernel memory and executes the codeMark Kettenis
in there. It explicitly changes the mapping of that memory to RX, but this only works if the maximum protection of the mapping includes PROT_EXEC. ok miod@, deraadt@
2014-11-27Previous change wasn't quite right and broke "classic' PCI sparc64 machines.Mark Kettenis
Undo the code rearrangement in rev. 1.108 but keep the sparc64-specific code dealing with non-prefetchable 64-bit BARs. Found out the hard way by stsp@
2014-11-27Missing comparison caused NX to always be enabled during boot, even on CPUsMike Larkin
that may have had it disabled in BIOS. ok deraadt@
2014-11-27Another spot where the VLAN tag doesn't need swapping in the currentlyBrad Smith
unused TSO code. ok mikeb@
2014-11-27Garbage collect some bits that were never used.Brad Smith
ok mikeb@
2014-11-27Fix a long standing bug in MAC statistics register access. OneBrad Smith
additional register was erroneously added in the MAC register set such that 7 TX statistics counters were wrong. From FreeBSD ok mikeb@
2014-11-27Use dv_xname instead of if_xname to establish our interrupt. The latter isMark Kettenis
still unset when at this point, and some MD variants of pci_intr_establish(9) make a copy of the string instead of storing a pointer. Makes vmstat -i properly print the device name on sparc64. ok mikeb@, deraadt@
2014-11-27rxr ioctl handling.Brad Smith
2014-11-27rxr ioctl handling.Brad Smith
2014-11-26Introduce softraid boot support to sparc64 ofwboot.Stefan Sperling
sparc64 machines should now be able to boot from softraid raid1 and crypto. Tested on sun blade100, sunfire v240, and sun t1000 ldom guests. Lots of encouragement from deraadt@
2014-11-26Add a new ELF segment .openbsd.bootdata to the sparc64 kernel.Stefan Sperling
This can be used to pass boot parameters to the kernel which can't be passed safely via the Open Firmware interface, such as softraid volume IDs and keys. The kernel already reads the arguments if available but ofwboot won't provide them until further changes are committed there. With support from deraadt, kettenis and matthew. ok deraadt@
2014-11-26Add softraid support to sparc64 first-level boot blocks.Stefan Sperling
Written with use of the forth by jedi jsing@ For now this only supports 'a' RAID partitions, no other partition letters.
2014-11-26Add softraid boot support code files ported by me to sparc64 from amd64.Stefan Sperling
Not hooked to the build yet. ok kettenis@
2014-11-26Copy some Open Firmware interface functions from the kernel to ofwboot.Stefan Sperling
Will be needed soon. ok kettenis@
2014-11-26The onboard ix(4) interfaces on the SPARC T5 machines don't have a valid MACMark Kettenis
address in their EEPROM. Use the MAC address given by the "local-mac-address" Open Firmware property instead. ok mikeb@, deraadt@
2014-11-26Seems Sun^H^H^HOracle is doing something naughty and (deliberately) putsMark Kettenis
non-prefetchable BARs of the onboard mpii(4) behind a prefetchable memory range on the bridge it sists behind. Since we rely on the formware to program BARs for us on sparc64, add a workaround to avoid whacking these BARs and make the machine panic later when it tries to access the registers. ok miod@, deraadt@
2014-11-26Hook ofwbootfd to the build.Stefan Sperling
2014-11-26Add a separate ofwboot build for the sparc64 floppies.Stefan Sperling
2014-11-26dont swap the vlan tag twice on big endian archs for transmit.David Gwynne
ok mikeb@
2014-11-25A few reliability fixes:Miod Vallat
- protect pv lists with splvm. - try to return as soon as possible from pmap_rmproc(). - correctly maintain wired pages statistics. - invoke pmap_remove_pcb() at splsched to avoid racing the scheduler.
2014-11-25Brag about what OS we are running on the LCD panel, if there is one.Miod Vallat
2014-11-25Since in_broadcast() is now used to always iterate on all the interfacesMartin Pieuchot
of your system, put it on a diet and kill the superfluous logic. ok mikeb@
2014-11-25No need to forward declare "struct route" anymore, rtalloc_mpath() noMartin Pieuchot
longer take such argument.
2014-11-25The proliferation of "struct route" in all its flavors didn't makeMartin Pieuchot
any good to our network stack. The most visible effect is the maze of #ifdef's and casts. But the real problem is the very fragile way of checking if a (cached) route entry is still valid or not. What should we do if the route jumped to another ifaddr or if its gateway has been changed? This change start the dance of "struct route" & friends removal by sending the completly useless "struct route_enc" to the bucket. Tweak & ok claudio@
2014-11-25unifdef -USCOPEDROUTING, no object change.Martin Pieuchot
2014-11-25Speed up page zeroing by using a loop of dcbz/dcbzl instead of bzero().Martin Pieuchot
While here, use the direct map for pmap_copy_page() and remove the now unused stolen page addresses. No objection from the usual suspects, "it works, commit" deraadt@
2014-11-25disable qla. there is a boot-time raceTheo de Raadt
2014-11-24rxr ioctl handling.Brad Smith
ok mpi@
2014-11-24Actually, the previous change didn't quite work on the SPARC T5-2. But ifMark Kettenis
we change the order of the xxx_setvalidand xxx_setstate hypervisor calls things actually work.
2014-11-24Add missing pci_msiq_setstate and pci_msi_setstate calls. Makes MSI workMark Kettenis
on the SPARC T5-2. Make error messages a bit more consistent while there.
2014-11-24Do not attempt to dereference NULL pointers when encountering an empty SCSIMiod Vallat
bus on a dual-scsi controller abstraction, while walking the KL component tree.
2014-11-24Fix some issues with 64-bit BARs behind PCI-PCI bridges.Mark Kettenis
Actual BARs that have the upper 32-bits set seen in the wild now on a SPARC T5-2 system. Tested by many.
2014-11-24The hypervisor on a SPARC T5-2 needs stricter alignment of the MSI messageMark Kettenis
queue.
2014-11-24No point in setting the Interrupt-on Short Packet bit on OUT endpoint.Martin Pieuchot
As explained in section 4.11.7 it should be used when a device is allowed to supply less data than the provided buffer space.
2014-11-24In debug mode, print more information when a transfer is aborted and useMartin Pieuchot
a different index value for a chained TRB and a freed one.
2014-11-24If we use the vintr cookie to point at the interrupt handler struct, weMark Kettenis
shouldn't link it into the table.