Commit Graph

519 Commits

Author SHA1 Message Date
prlw1
0b01710bb3 Take procfs_machdep.c rev 1.4 one step further and adjust signature of
thunk_getcpuinfo().
2015-02-06 10:25:13 +00:00
uebayasi
634cfde5a0 Use LINKSCRIPT. 2014-11-15 12:20:06 +00:00
joerg
a26164117a Reorganize symbol table embedding. The existing option SYMTAB_SPACE is
replaced by the make option COPY_SYMTAB set to any value. The copy of
the symbol table is no longer put into a buffer in kern_ksyms.o, but a
small helper object. This object is build first with a dummy size, then
the kernel is linked to compute the real dimension of the symbol table
buffer. After that, the helper object is rebuild and the kernel linked
again.
2014-08-17 21:17:43 +00:00
apb
30a0368950 Add "options COMPAT_70" to all kernel configuration files that
already had "options COMPAT_60".
2014-08-16 17:56:30 +00:00
dholland
f9228f4225 Add d_discard to all struct cdevsw instances I could find.
All have been set to "nodiscard"; some should get a real implementation.
2014-07-25 08:10:31 +00:00
christos
3ff79dba35 adjust to new signature; return consistent stuff. 0 is ok -1 is error 2014-04-05 18:44:32 +00:00
christos
4674a5d7ed fix sprintf 2014-03-26 08:29:41 +00:00
christos
b2543b9136 use cpu_{g,s}etmodel 2014-03-24 20:06:31 +00:00
dsl
95739e63cd Remove __HAVE_PROCESS_XFPREGS and add the extra parameter for the size
of the fp save area to all the process_read_fpregs() and
  process_write_fpregs() functions.
None of the functions have been modified to use the new parameters.
The size is set for all the writes, but some of the arch-specific reads
  just pass NULL.
The amd64 (and i386) need variable sized fp register save areas in order
  to support AVX and other enhanced register areas.
These functions are rarely called - so the extra argument won't matter.
2014-01-04 00:10:02 +00:00
jmcneill
3bd31d9d0c implement md_get_pc and md_set_pc 2013-11-11 13:52:04 +00:00
jmcneill
bf2b340556 use MACHINE_CPU instead of MACHINE_ARCH 2013-11-10 22:08:58 +00:00
jmcneill
ccb870ba91 usermode arm md stub 2013-11-10 20:03:46 +00:00
jmcneill
be0aab8e86 arm support for syscallemu, not tested 2013-11-10 19:58:38 +00:00
jmcneill
308ee51638 support building on arm 2013-11-10 19:52:01 +00:00
jmcneill
6638042950 define _KMEMUSER before including machine/vmparam.h 2013-11-10 19:51:00 +00:00
jmcneill
c3534d1853 use MACHINE_CPU instead of uname -p; create symlink for arm headers 2013-11-10 19:49:49 +00:00
matt
95e5ad1b41 Use sy_invoke 2013-06-26 15:09:59 +00:00
reinoud
b2c25544ca Including missing include file <sys/ioctl.h> that broke compilation. 2013-05-22 13:34:31 +00:00
yamt
2d4b923e32 fix include dir
add some dependencies
2013-03-06 11:36:21 +00:00
apb
f3929b106b Add "options COMPAT_60" to all kernel configuration files
that already had "options COMPAT_50".
2012-10-17 14:48:07 +00:00
abs
715998cc28 Ensure all WSDISPLAY_COMPAT_USL entries have same comment 2012-08-17 19:43:24 +00:00
reinoud
8a7df726af Fix IO lockups in NetBSD/usermode.
1) Don't block IO signals since the return path is not garanteed to enable the
signal again.
2) Since signals can get dropped, do a 2nd pass over the routines.
2012-08-04 14:53:32 +00:00
mlelstv
8ce4433821 Do not call setroot() from MD code and from MI code, which has
unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.

No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information
as a side effect. Instead call MI rootconf() from MD code which makes
rootconf() now a wrapper to setroot().

Adjust several MD routines to set the global booted_device,booted_partition
variables instead of passing partial information to setroot().

Make cpu_rootconf(9) describe the calling order.
2012-07-29 18:05:39 +00:00
matt
a971ba5943 Remove declartions of physmem 2012-07-28 19:08:22 +00:00
reinoud
27889a99dc Adding an assert that checks for struct pmap_l2 not being bigger than
PAGE_SIZE.

While here, also add possible bug allerts of temporary mmaps that might screw
up memory.
2012-07-24 13:59:26 +00:00
christos
3e56f3e419 no home-brewed NETBSDSRCDIR please (fix the build) 2012-07-03 21:07:41 +00:00
reinoud
d520097578 Fix missing <stdarg.h> include that breaks the autobuild 2012-07-02 12:17:12 +00:00
reinoud
e631798833 Move i386 and amd64 usermode configurations to their respective directories
and make the usermode kernels buildalbe under build.sh.

The resulting kernels are build and packaged correctly as are the associated
modules.
2012-06-30 15:03:56 +00:00
reinoud
67d81114c7 Implement dummy `cpu_mcontext_validate' to make it compile again. This
function needs to be implemented in the target secton one day for extra
security.
2012-06-25 14:43:54 +00:00
reinoud
730624026f Use the signal's signo instead of just returning SIGSEGV and add a comment 2012-03-03 21:29:02 +00:00
reinoud
8caa187077 Implement signal forwarding to userland for usermode kernels. Especially
SIGFPE is important since the urkel shouldn't stop when a userland program
devides by zero!
2012-03-03 21:15:15 +00:00
reinoud
88bfa5cb05 Move from pool(9) to kmem_zalloc(9) for L2 page tables. A pool with PAGE_SIZE
elements is accepted but seems to panic now and then claiming it can't find
the header info.

XXX should this be PR'd?
2012-03-02 16:56:32 +00:00
reinoud
54e9432c0a Prevent recursive IO signals. This prevents crashes when pieces of text are
pasted in say an Xterm. Each char might create a SIGIO running out of
stackspace very quickly!
2012-02-15 15:20:53 +00:00
reinoud
7775733971 Add cpu_spawn_return() as per other archs to make it compile. No tests done
yet.
2012-02-13 19:15:59 +00:00
reinoud
5cbe80301b Fix /dev/kmem access and make vmstat(1) `work'. Not sure all the results are
indeed valid or correct but at least it shows them without coredumping or
coredumping the kernel.
2012-02-08 17:55:21 +00:00
reinoud
cdd53821b4 regen 2012-02-05 17:40:08 +00:00
reinoud
b2bd15f503 With the recent kmem changes, remove the `unlimited' maximum setting of
NKMEMPAGES from amd64 since it gets us into trouble.
2012-02-05 17:39:18 +00:00
reinoud
b0130c6aff regen 2012-02-05 14:27:08 +00:00
reinoud
ab30bde8c6 Bump UPAGES effectively bumping per-process (system) stack i.e. the stack on
which traps are taken. When it was 8 it could run out of space on big NFS
stack traces in combination with timer and memory paging.
2012-02-04 23:04:15 +00:00
reinoud
1c948e16f7 spl_intr() is not defined anymore so remove from the header file 2012-02-02 11:13:41 +00:00
reinoud
f1858320d3 Regen 2012-02-02 11:12:40 +00:00
reinoud
1a5b67339c Add cdefs.h to usermode's genheaders.sh 2012-02-02 11:10:24 +00:00
reinoud
5d4c62d3c2 No need to explicitly use thunkbus at this place. thunkbus == mainbus on
NetBSD/usermode
2012-01-23 12:08:31 +00:00
reinoud
ff987fe24b Fix compilation issue for target amd64. 2012-01-22 17:51:39 +00:00
reinoud
1ea95bd622 Complete rewrite of the signal and spl framework for NetBSD/usermode
Signals are now moved from the sigaltstack ASAP and stacked on a replacement
stack for each processes.

Preemption now works though could be enhanced a bit more
2012-01-21 22:09:56 +00:00
reinoud
b74ba047d8 Add extra kasserts to make sure we dont derive paramters from zero ucp's 2012-01-21 22:05:06 +00:00
reinoud
efe1d0c784 Add the complement to sigemptyset(), sigfillset()! 2012-01-21 19:17:33 +00:00
reinoud
1a01d66147 My fault, forgot that cpu_need_resched() is indeed already declared as a function 2012-01-19 12:14:49 +00:00
reinoud
aacc91c6de Add macro cpu_need_resched 2012-01-19 12:10:00 +00:00
reinoud
20157f98bc Create an atomic switchto() that has SIGALRM and SIGIO signals blocked that
might otherwise disrupt the setting of curlwp to match the lwp context.
2012-01-18 19:17:02 +00:00