summaryrefslogtreecommitdiff
path: root/sys/arch/socppc
AgeCommit message (Collapse)Author
2016-01-08Move HID support files out of dev/usb into new dev/hid directoryJoshua Stein
These files aren't USB-specific and were used by the previous Bluetooth implementation, and will be used by the upcoming HID-over-i2C implementation ok deraadt previous version ok kettenis and mpi
2015-12-14s/begining/beginning/gmmcc
2015-11-25replace IFF_OACTIVE manipulation with mpsafe operations.David Gwynne
there are two things shared between the network stack and drivers in the send path: the send queue and the IFF_OACTIVE flag. the send queue is now protected by a mutex. this diff makes the oactive functionality mpsafe too. IFF_OACTIVE is part of if_flags. there are two problems with that. firstly, if_flags is a short and we dont have any MI atomic operations to manipulate a short. secondly, while we could make the IFF_OACTIVE operates mpsafe, all changes to other flags would have to be made safe at the same time, otherwise a read-modify-write cycle on their updates could clobber the oactive change. instead, this moves the oactive mark into struct ifqueue and provides an API for changing it. there's ifq_set_oactive, ifq_clr_oactive, and ifq_is_oactive. these are modelled on ifsq_set_oactive, ifsq_clr_oactive, and ifsq_is_oactive in dragonflybsd. this diff includes changes to all the drivers manipulating IFF_OACTIVE to now use the ifsq_{set,clr_is}_oactive API too. ok kettenis@ mpi@ jmatthew@ deraadt@
2015-11-24The only network driver needing <net/if_types.h> is upl(4) for IFT_OTHER.Martin Pieuchot
2015-11-20shuffle struct ifqueue so in flight mbufs are protected by a mutex.David Gwynne
the code is refactored so the IFQ macros call newly implemented ifq functions. the ifq code is split so each discipline (priq and hfsc in our case) is an opaque set of operations that the common ifq code can call. the common code does the locking, accounting (ifq_len manipulation), and freeing of the mbuf if the disciplines enqueue function rejects it. theyre kind of like bufqs in the block layer with their fifo and nscan disciplines. the new api also supports atomic switching of disciplines at runtime. the hfsc setup in pf_ioctl.c has been tweaked to build a complete hfsc_if structure which it attaches to the send queue in a single operation, rather than attaching to the interface up front and building up a list of queues. the send queue is now mutexed, which raises the expectation that packets can be enqueued or purged on one cpu while another cpu is dequeueing them in a driver for transmission. a lot of drivers use IFQ_POLL to peek at an mbuf and attempt to fit it on the ring before committing to it with a later IFQ_DEQUEUE operation. if the mbuf gets freed in between the POLL and DEQUEUE operations, fireworks will ensue. to avoid this, the ifq api introduces ifq_deq_begin, ifq_deq_rollback, and ifq_deq_commit. ifq_deq_begin allows a driver to take the ifq mutex and get a reference to the mbuf they wish to try and tx. if there's space, they can ifq_deq_commit it to remove the mbuf and release the mutex. if there's no space, ifq_deq_rollback simply releases the mutex. this api was developed to make updating the drivers using IFQ_POLL easy, instead of having to do significant semantic changes to avoid POLL that we cannot test on all the hardware. the common code has been tested pretty hard, and all the driver modifications are straightforward except for de(4). if that breaks it can be dealt with later. ok mpi@ jmatthew@
2015-11-15Make sure every mtmsr instruction disabling external interrupts is immediatelyMiod Vallat
followed by an isync. ok mpi@
2015-11-06Use m_defrag(9) when we fail to load fragmented mbuf chains.Martin Pieuchot
From Richard Procter <richard DOT n DOT procter AT gmail DOT com>. ok dlg@
2015-11-01Remove the definition of USRTEXT. It has no relevance outside of the non-PIEMiod Vallat
a.out world. ok deraadt@ kettenis@
2015-10-25arp_ifinit() is no longer needed.Martin Pieuchot
2015-10-23Allocate a new major for tap(4) also note that pseudo-device tun is for tapClaudio Jeker
as well. OK dlg@ mpi@
2015-10-01Use DOS_LABELSECTOR rather than LABELSECTOR to indicate offset into anKenneth R Westerback
OpenBSD partition when accessing the disklabel. For these files both are '1', but this makes the usage consistent across all archs. ok guenther@ miod@
2015-10-01Remove more blinding trailing whitespace.Kenneth R Westerback
2015-09-30Use consistant whitespace/comments for #define'ing LABELSECTOR,Kenneth R Westerback
LABELOFFSET and MAXPARTITIONS. Easier on the eye when scanning through all these files. No functional change.
2015-09-27Use readdisksector() instead of manual buf initialization. These areKenneth R Westerback
identical to the amd64 change already committed. ok deraadt@
2015-09-10reduce .Nd to one line and kill .Tn while hereIngo Schwarze
2015-08-22catch up to macppc genassym.cf; regarding C mutexesTheo de Raadt
2015-07-2917 years ago, setfault() was modified to save the status register in theMiod Vallat
faultbuf. But 1/ sr was only restored for machine check exceptions, and 2/ the way it was saved was unsafe if interrupts were enabled, and could cause %r2 to be lost. Discussing this with deraadt@ at the end of c2k15, this was probably needed for the old VI boards which were the target of the original powerpc port, came with a worse-than-Genesi openfirmware. Since then, machine check exceptions have been unheard of; or, if they happen, they do not need the status register to be restored. ok mpi@ deraadt@
2015-07-17remove obsolete INET kernel optionTed Unangst
2015-07-17Remove {LOAD,COUNT}_TEXTA from libsa loadfile, it only made sense for a.outMiod Vallat
kernels and we no longer have any.
2015-06-24IPL_MPSAFE bits for macppc with openpic(4).Martin Pieuchot
2015-06-24Increment if_ipackets in if_input().Martin Pieuchot
Note that pseudo-drivers not using if_input() are not affected by this conversion. ok mikeb@, kettenis@, claudio@, dlg@
2015-06-22document that boot.conf can contain comments;Jason McIntyre
from tilo stritzky thanks miod for help with the diff, and who also noted that leading whitespace gets stripped too;
2015-06-13When investigating an uninitialised variable in the armv7 resettodr()Jonathan Gray
miod pointed out that time_second should be compared to 1 not 0 in the md resettodr() functions as it is initialised to 1. ok miod@ deraadt@
2015-04-08Check for link status in tsec_start(). Prevent the watchdog from fireingMartin Pieuchot
when no cable is plugged in but the interface is brough up. inputs and ok kettenis@
2015-03-31Make it possisble to disable block address translation mechanism onMartin Pieuchot
processors that support it. Due to the way trap code is patched it is currently not possible to enabled/disable BAT at runtime. ok miod@, kettenis@
2015-03-31Merge two versions of ppc_check_procid().Martin Pieuchot
ok miod@, kettenis@ as part of a larger diff
2015-03-10Convert to if_input().Martin Pieuchot
ok dlg@, kettenis@
2015-03-01Fix setregs() to correctly use ps_strings. ok kettenis@ mpi@Miod Vallat
2015-02-10Convert to uiomove().Miod Vallat
ok guenther@
2015-02-10First step towards making uiomove() take a size_t size argument:Miod Vallat
- rename uiomove() to uiomovei() and update all its users. - introduce uiomove(), which is similar to uiomovei() but with a size_t. - rewrite uiomovei() as an uiomove() wrapper. ok kettenis@
2015-02-10increase min address to page size for all remaining min == 0 systems.Ted Unangst
not necessary, but consistent with other platforms. ok deraadt
2015-01-24Implement bus_dmamem_alloc_range(9) for macppc/socppc.Mark Kettenis
2015-01-24correct the syntax description of the boot command; ok jmc@Christian Weisgerber
2015-01-20Merge two copies of the (almost) identical bus space code into one file.Martin Pieuchot
This brings bus_space_mmap(9) to socppc and change its bus_space_map(9) implementation to use kernel_map instead of phys_map like macppc and everybody else.
2015-01-20Merge two copies of the same dma code into one file and sync the headers.Martin Pieuchot
ok kettenis@
2015-01-20Missing $OpenBSD$'s.Kenneth R Westerback
ok deraadt@
2015-01-13for the install: target, use cmp as a rough attempt for avoiding repeatedTheo de Raadt
make install from Simon Nicolussi ok jsing tedu
2015-01-11switch prototype warnings to implicit-declaration warnings.Ted Unangst
This should catch all the same bad cases, but be a little less aggravating in circumstances where a prototype isn't necessary ok deraadt
2015-01-04Implement splassert(9) for powerpc.Martin Pieuchot
This changes the logic to prevent a recursion when processing soft interrupts. Previously a per-CPU flag was set before re-enabling interrupts. Now the IPL level is raised to SOFTTTY which makes splsoftassert() happy, greatly inspired by mips64. As a side effect, the ppc_intr_{disable,enable}() dance is now done only once instead of twice per splx(9). While here, make use of dosoftint() instead of having 3 different functions for dispatching soft interrupts. Tested by deraadt@ on G4 smp and by myself G5 smp, G3, G4 and socppc. No objection from the usual (and over busy) suspects.
2014-12-22unifdef INETTed Unangst
2014-12-11dragonflybsd has added a urio driver. conservation of urios requiresTed Unangst
that we delete ours, which isn't actually useful. ok mpi sthen
2014-12-10retire shutdown hooks; ok deraadt, krwMike Belopuhov
2014-11-30rxr ioctl handling.Brad Smith
2014-11-24use the correct capitalization for Realtek.Brad Smith
2014-11-16Replace a plethora of historical protection options with justTheo de Raadt
PROT_NONE, PROT_READ, PROT_WRITE, and PROT_EXEC from mman.h. PROT_MASK is introduced as the one true way of extracting those bits. Remove UVM_ADV_* wrapper, using the standard names. ok doug guenther kettenis
2014-11-11Do not held the kernel lock when calling hardclock() and statclock().Martin Pieuchot
This is not necessary, as confirmed by tedu@ and kettenis@. Solve the major contention problem seen on my Dual G5. Reduce the build time of a kernel with two jobs from 5h+ to 18min and expose more easily pmap/memroy corruptions 8) ok kettenis@
2014-10-27Remove the spilling code for IBAT register and set up the first IBAT registerMark Kettenis
to cover the first 8 MB of memory such that it covers kernel .text and not much else. This is a first step towards W^X in the kernel for machines with G4 and older processors. ok mpi@
2014-10-18Don't use %r1 to refer to bit 1. No binary difference.Mark Kettenis
2014-10-10Significant unification of RAMDISK* config files, making them diffable.Theo de Raadt
This makes it easier to remove components not required to do an install, and subsequently add other desireable components ... In snapshots (in various forks) for about a week. Do some upgrades and installs, please.
2014-10-09allow building a kernel without ddbTheo de Raadt
ok mpi