Commit Graph

259 Commits

Author SHA1 Message Date
martin
a182d9ea04 Add missing includes 2016-04-03 10:03:34 +00:00
martin
117132e6a6 Adopt to device_t/struct ifnet* changes 2016-04-03 10:03:04 +00:00
martin
9027300348 Use device_t/struct ifnet* for phy callbacks 2016-04-03 10:01:52 +00:00
martin
62078f8320 Fix bpf_mtap argument 2016-04-03 09:58:45 +00:00
martin
044276cb07 Convert # line comments to // line to avoid preprocessor confusion 2016-04-03 09:06:28 +00:00
martin
0213dfd655 Add missing include 2016-03-28 10:35:36 +00:00
martin
e002a1e12e Simplify now that we have an internal toolchain 2016-03-28 10:31:45 +00:00
ozaki-r
9c4cd06355 Introduce softint-based if_input
This change intends to run the whole network stack in softint context
(or normal LWP), not hardware interrupt context. Note that the work is
still incomplete by this change; to that end, we also have to softint-ify
if_link_state_change (and bpf) which can still run in hardware interrupt.

This change softint-ifies at ifp->if_input that is called from
each device driver (and ieee80211_input) to ensure Layer 2 runs
in softint (e.g., ether_input and bridge_input). To this end,
we provide a framework (called percpuq) that utlizes softint(9)
and percpu ifqueues. With this patch, rxintr of most drivers just
queues received packets and schedules a softint, and the softint
dequeues packets and does rest packet processing.

To minimize changes to each driver, percpuq is allocated in struct
ifnet for now and that is initialized by default (in if_attach).
We probably have to move percpuq to softc of each driver, but it's
future work. At this point, only wm(4) has percpuq in its softc
as a reference implementation.

Additional information including performance numbers can be found
in the thread at tech-kern@ and tech-net@:
http://mail-index.netbsd.org/tech-kern/2016/01/14/msg019997.html

Acknowledgment: riastradh@ greatly helped this work.
Thank you very much!
2016-02-09 08:32:07 +00:00
christos
257ef94e95 Add mips fenv.h (From FreeBSD) 2015-12-21 17:02:32 +00:00
uebayasi
7fe7089a02 Add pseudo-device ksyms' where options DDB' is used, because
config(1)/config(5) can't handle module dependency correctly at this
moment.

(This is another proof that shared file definition (`file xxx.c a|b')
is a bad idea.)
2015-08-21 01:52:07 +00:00
maxv
d22da207ed Remove the KMEMSTATS option. It no longer exists. 2015-08-07 07:29:33 +00:00
matt
4732ca2c1e Use cpu_startup_common() 2015-06-30 02:39:03 +00:00
matt
c525e41f98 Declare or #define avail_start and avail_end as appropriate 2015-06-11 15:11:13 +00:00
riastradh
445478ce67 MD rnd.h cleanups. Please let me know if I broke anything! 2015-04-13 21:18:40 +00:00
martin
4a2bbe3d84 Force gcc to pass -msoft-float to the assembler (to make newer binutils
happy)
2015-04-06 10:49:13 +00:00
martin
3884499e40 Use ta0 instead of t4 (so at least it compiles for all ABIs) 2015-03-22 20:32:08 +00:00
christos
b59f66e17c use the inline bcdtobin and bintobcd directly instead through a macro. 2014-11-20 16:34:25 +00:00
tls
ea6af427bd Merge tls-earlyentropy branch into HEAD. 2014-08-10 16:44:32 +00:00
martin
0ce6eb3787 Split softc, fix wsfont_find call. 2014-07-08 13:35:43 +00:00
martin
d6d2ce559a Add missing includes, use new style function declarations. 2014-07-07 10:12:24 +00:00
martin
589d32fb2c Adapt to struct buf changes 2014-07-04 08:51:15 +00:00
martin
b99d8c4997 Adapt to new attach world order 2014-07-04 08:33:08 +00:00
martin
ae2c055efb Add missing includes, fix C99 struct initialization 2014-07-04 08:09:47 +00:00
martin
7db833408c Use .set arch=r5900 to enable r5900 specific instructions 2014-07-04 07:59:17 +00:00
martin
3f40a990f2 Fix extent_create() call 2014-07-04 07:51:14 +00:00
martin
d42796f67d Add missing <sys/device.h> include 2014-07-04 07:27:57 +00:00
martin
3bdb758acc md_imask_update is not an inline function, fix declaration. 2014-07-04 07:27:28 +00:00
martin
637a4fdb26 Add missing OBJCOPY 2014-07-04 07:03:35 +00:00
martin
294d08149c Add -msoft-float to AFLAGS as well 2014-07-02 13:27:14 +00:00
martin
377dd2856e The correct toolchain tuple is mipsel--netbsd (not netbsdelf) 2014-07-02 12:44:15 +00:00
mrg
c9c8247cb1 NBPFILTER is no more. 2014-06-29 11:18:40 +00:00
martin
0439d1bb3a Try with EXTERNAL_TOOLCHAIN instead of MISSING_TOOLCHAIN.
Still fails the same.
2014-04-05 11:15:57 +00:00
martin
2669e011af Seems we use MBR labels 2014-04-01 14:09:14 +00:00
martin
2ed0d22319 Rearrange order of includes 2014-04-01 14:08:50 +00:00
martin
a7a8af5f88 Adapt to current (and new pkgsrc toolchain) 2014-03-31 11:43:53 +00:00
martin
08255dc9ad Adapt to current directory layout 2014-03-31 11:42:17 +00:00
martin
ccc024ec21 Adapt to -current 2014-03-31 11:41:01 +00:00
martin
aad6ef8bb5 Bring back the playstation2 port - now that a toolchain for it is
available again.
2014-03-31 11:25:47 +00:00
pooka
d6224f4507 Remove support for NetBSD/playstation2. 2009-12-05 16:29:10 +00:00
rmind
3f18fe8123 - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr.
- Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb().
- Amend assembly in ports where it accesses PCB via struct user.
- Rename L_ADDR to L_PCB in few places.  Reduce sys/user.h inclusions.
2009-11-27 03:23:03 +00:00
matt
11af2f9cfa Kill proc0paddr. Use lwp0.l_addr instead. 2009-11-26 00:19:11 +00:00
pooka
09dbb89b44 If cpu_disklabel includes struct dkbad, define __HAVE_DISKLABEL_DKBAD.
This allows use of subr_disk_mbr on all archs.  Default to it for
the rump disk component.  No functional change for regular kernels.
(The other option would've been to include dkbad in disklabels
everywhere, but arguably this approach has less possible side-effects,
especially given that wedges and related magic will take over the
world any second now).
2009-11-23 13:40:08 +00:00
thorpej
cba1ce22e9 Use bus_dmamem_common. 2009-08-21 03:56:58 +00:00
matt
ab902ee68d Move MID_MACHINE to <mips/mips_param.h> and use local values so we don't
need to include exec_aout.h
2009-08-13 05:15:08 +00:00
matt
b2a95bab1e Remove all declarations of physmem from sys/arch. Add an include of
<sys/systm.h> to the one file that did not already contain it.
This now means that physmem can be changed by updating systm.h and uvm_page.c
(excluding fixing printfs)
2009-08-11 17:04:14 +00:00
cegger
df7f595ecd Ansify function definitions w/o arguments. Generated with sed. 2009-03-18 10:22:21 +00:00
jym
92ae85d18e Changes to MEMORY_RBFLAGS option:
- renamed to MEMORY_DISK_RBFLAGS to better fit the rest of the
MEMORY_DISK options(4)
- change default value to RB_AUTOBOOT instead of RB_SINGLE, and adapt
the config(5) files accordingly
- document this option inside options(4)

See also http://mail-index.netbsd.org/tech-kern/2008/12/25/msg003924.html

Reviewed by abs@ in private mail.
2009-02-06 18:50:26 +00:00
ad
6ba528b5bc Remove softdep, pass 1. We are focused on improving journalling.
Proposed on tech-kern@.
2008-11-24 11:41:07 +00:00
ad
0efea177e3 Remove LKMs and switch to the module framework, pass 1.
Proposed on tech-kern@.
2008-11-12 12:35:50 +00:00
dyoung
94d985722a It is not appropriate to call pmf_system_shutdown(9) from
doshutdownhooks(9): shutdown hooks registered by shutdownhook_establish(9)
expect to be called with interrupts disabled, but shutdown hooks
registered with pmf_device_register1(9) expect to be called with
interrupts enabled.  So I have made two changes:

1 Do not call pmf_system_shutdown() from doshutdownhooks().  Instead,
change every call to doshutdownhooks() to a call to doshutdownhooks()
followed by a call to pmf_system_shutdown().  No functional change
is intended by this change.

2 Make i386 re-enable interrupts briefly while it calls
pmf_system_shutdown().  I leave it to others either to fix the
other ports, or to factor out some MI shutdown code, as joerg@
suggests, and fix that.  Note that a functional change *is* intended
by this change.

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
2008-11-11 06:46:40 +00:00