summaryrefslogtreecommitdiff
path: root/sys/arch/socppc
AgeCommit message (Collapse)Author
2017-03-15Fix building profiling kernels by passing the -p flag to config(8)Theo Buehler
if the kernel's name ends in .PROF. problem reported by jmc via mpi ok mpi
2017-02-28Switch geteblks()'s size argument from int to size_t. It's called withMartin Natano
unsigned variables as argument in most places anyway. Decrease the chance of signedness/range mismatch issues. ok stefan
2017-02-10Unbreak 'config -p'.Martin Pieuchot
ok tb@, jca@
2017-01-22move counting if_opackets next to counting if_obytes in if_enqueue.David Gwynne
this means packets are consistently counted in one place, unlike the many and various ways that drivers thought they should do it. ok mpi@ deraadt@
2017-01-22Introduce the KEEPKERNELS variable: if this is set either in mk.conf orTheo Buehler
the environment, 'make cleandir' does not descend into kernel build directories. Thus, kernel object files survive 'make build' on slower architectures. WARNING: If you set this variable, you run the risk of breaking 'make release': Be sure to run 'make cleandir' from /sys/arch/$(machine)/compile before doing 'make release'. This issue will be addressed shortly. requested by kettenis; ok deraadt
2016-11-29Build kernel with DEBUG=-g by default.Martin Pieuchot
This will allow us to extract type informations from DWARF2 sections. It also makes developer life easier as debug information are now included in every object. Resulting kernels will be stripped using strip(1) instead of ld(1). Kernel build time increases by approximately 10%. However it is still possible to disable this by defining DEBUG="". ok kettenis@, bluhm@, natano@, jasper@, reyk@, deraadt@
2016-11-15Clean up the kernel Makefile's:Martin Natano
- Remove the 'lint' target. lint has been removed with OpenBSD 5.2. - Remove the 'tags' target. It does nothing of value. - Replace 'clean::' with 'clean:', as requested by espie and millert, and remove files from the 'clean' target, that are never generated. - Don't create a file called 'depend' in 'make depend', but just do nothing instead. ok mpi tb
2016-11-14Fix build now that ftd.h move to a MI directory.Martin Pieuchot
2016-11-06Do not create machine@ symlinks in obj as root during includes:, butTheo Buehler
defer their creation to later, so that they are owned by BUILDUSER. This eliminates the last root-owned files in obj/ from 'make build'. In addition, place a MACHINE == hppa test in hppa/stand/Makefile.inc to avoid creating bogus symlinks on all other archs. joint work with & ok natano, "let's try it" deraadt
2016-11-05Two tweaks for compile/Makefile.inc:Martin Natano
1) Replace '.elif !exists(${OBJDIR}/Makefile)' with just '.else'. espie pointed out, that if the file existed, make wouldn't be reading this file, so the check is superflous. Less clutter. 2) Unconditionally define the 'clean' and 'cleandir' targets, also when obj doesn't exist. This changes the behaviour of 'make clean' to be successful (doing nothing) without obj@ or obj/. ok tb millert deraadt
2016-10-27We don't generate an eddep script for kernel builds nowadays. The lastMartin Natano
reference to eddep in the kernel Makefile I could find is in 4.3BSD, released some 30 years ago. ok tb millert
2016-10-24make cleandir should skip the version file; ok otto millertTheo de Raadt
2016-10-15cleandir: target for kernel compile directoriesTheo de Raadt
ok natano
2016-10-14Kernel builds now happen in compile/CONFIG/obj@ -> /usr/obj/... [or ./obj/,Theo de Raadt
if srctree is not rooted at /usr/src]. As a result, stock GENERIC & RAMDISK kernels are commited to the tree, to ensure the src tree can be "readonly" during builds, with all writes occuring inside the obj space. config -b options are handled by ../Makefile.inc. The canonical new way to configure one of these kernels is: % cd /sys/arch/amd64/compile/GENERIC.MP % doas make obj % make config % make % doas cp obj/bsd /bsd The build infrastructure will use this new mechanism in a de-escalation way using BUILDUSER. Much help from natano and tb.
2016-10-09Apply consistency to forever loops with continue and NOTREACHEDTom Cosgrove
Same thought from kettenis@, ok krw@ phessler@ millert@
2016-09-25Make a move towards ending 4 decades of kernel snooping.Theo de Raadt
Add sysctl kern.allowkmem (default 0) which controls the ability to open /dev/mem or /dev/kmem at securelevel > 0. Over 15 years we converted 99% of utilities in the tree to operate on sysctl-nodes (either by themselves or via code hiding in the guts of -lkvm). pstat -d and -v & procmap are affected and continued use of them will require kern.allowkmem=1 in /etc/sysctl.conf. acpidump (and it's buddy sendbug) are affected, but we'll work out a solution soon. There will be some impact in ports. ok kettenis guenther
2016-09-24Add -Wno-pointer-sign to all our gcc4 architectures.Mark Kettenis
ok patrick@ (for armv7), deraadt@
2016-09-18option INSECURE is obsoleteTheo de Raadt
2016-09-13crank bootloader version after .SUNW_ctf changeJasper Lievisse Adriaanse
as discussed with jsing@ it's easier this way to ensure people have bootblocks capable of loading the section
2016-09-04Remove support for tape block devices. Nobody mount(8)s tapes any longer.Christian Weisgerber
ok deraadt@ guenther@
2016-09-02Add switch(4) cdev entryKazuya Goda
ok deraadt@ yasuoka@ reyk@
2016-08-15normalize some commentsTed Unangst
2016-07-30Prep for relro: make sure it's off for any non-PIE stand/ programPhilip Guenther
ok millert@ kettenis@
2016-06-08remove obsolete raid from namtoblk tables. from Artturi AlmTed Unangst
2016-05-31fix arch/mach confusion in make tags. from frantisek holopTed Unangst
2016-05-23Place a cpu-dependent trap/illegal instruction over the remainder of theTheo de Raadt
sigtramp page, so that it will generate a nice kernel fault if touched. While here, move most of the sigtramps to the .rodata segment, because they are not executed in the kernel. Also some preparation for sliding the actual sigtramp forward (will need some gdb changes) ok mlarkin kettenis
2016-05-23repair typo of sizeof in copyin()Theo de Raadt
2016-05-21hand-massage sendsig() and sys_sigreturn() to be much more similar.Theo de Raadt
ok guenther kettenis
2016-05-11fix sigcookie value, address was off due to trapframe nestingTheo de Raadt
notice by miod
2016-05-10SROP mitigation. sendsig() stores a (per-process ^ &sigcontext) cookieTheo de Raadt
inside the sigcontext. sigreturn(2) checks syscall entry was from the exact PC addr in the (per-process ASLR) sigtramp, verifies the cookie, and clears it to prevent sigcontext reuse. not yet tested on landisk, sparc, *88k, socppc. ok kettenis
2016-05-04Initial support for MSI-X. Only supported on amd64 for now. I have diffs toMark Kettenis
actually use this in em(4) and xhci(4), but I'm not committing those yet because we almost certainly need to save and restore the MSI-X registers during suspend/resume. However, this allows mpi@ to play with multiple-vector support in networking hardware. Requested by mpi@ ok mlarkin@, mikeb@
2016-04-29Do not remove local symbols from the table.Martin Pieuchot
ddb(4) can now see static functions. That doesn't mean we should start declaring functions as ``static'', however it helps for the few existing exceptions. ok deraadt@, kettenis@
2016-04-25remove systraceTed Unangst
2016-04-25Do not check if the CPU is inside the idle loop when enterting ddb(4).Martin Pieuchot
This check only makes sense when a frame is saved for interrupts, not for a (simulated) breakpoint. This allows us to put breakpoints in interrupt context and have them work if an interrupt fires while the CPU is idle.
2016-04-13G/C IFQ_SET_READY().Martin Pieuchot
2016-03-30for some time now mandoc has not required MLINKS to functionJason McIntyre
correctly - logically complete that now by removing MLINKS from base; authors need only to ensure there is an entry in NAME for any function/ util being added. MLINKS will still work, and remain for perl to ease upgrades; ok nicm (curses) bcook (ssl) ok schwarze, who provided a lot of feedback and assistance ok tb natano jung
2016-03-05One ddb interface is enough for ppc.Martin Pieuchot
2016-03-05Define db_reg_t like the other archs by typedef'ing "struct trapframe".Martin Pieuchot
This will allow us to use some of the DDB macros on trapframe which are not DDB_REGS.
2016-03-03Move fdt to a more centralized location so it can be used by arm as well. ↵Brandon Mercer
Diff from Patrick Wildt. Tested and OK dlg@.
2016-02-28Convert FDT values from big endian to host endian.Martin Pieuchot
This is a no-op on socppc but will allows ARM ports (little-endian) to make use of this code. From Patrick Wildt.
2016-02-28Remove useless code, from Patrick Wildt.Martin Pieuchot
2016-02-28Rename ddb_trap_glue() to db_trap_glue().Martin Pieuchot
Let's keep the 'db_' prefix for all ddb(4) functions that should not be instrumented.
2016-02-26Remove stale RAIDframe entries from chrtoblktbl.natano
While there truncate the tables to the minimum required size; chrtoblk() and blktochr() are designed to handle a table shorter than cdevsw. "Looks good to me" deraadt@
2016-01-21avoid uninitialised variable useJonathan Gray
ok kettenis@
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@