summaryrefslogtreecommitdiffstats
path: root/sys/pc98/i386
Commit message (Collapse)AuthorAgeFilesLines
* Cosmetic: fix disorder of opt_kstack_pages.h include.peter2003-07-311-1/+1
|
* Rename thread_siginfo to cpu_thread_siginfo.davidxu2003-07-151-1/+1
| | | | Suggested by: jhb
* MFi386: revision 1.566.nyan2003-06-281-38/+0
|
* Add a machine depended function thread_siginfo, SA signal codedavidxu2003-06-281-0/+20
| | | | | | | will use the function to construct a siginfo structure and use the result to export to userland. Reviewed by: julian
* Fix a typo that broke the pc98 kernel build.jhb2003-05-141-1/+1
| | | | | | Reported by: des@'s tinderbox Pointy hat to: jhb Approved by: re (blanket/scottl)
* - Merge struct procsig with struct sigacts.jhb2003-05-131-9/+12
| | | | | | | | | | | | | | | | | - Move struct sigacts out of the u-area and malloc() it using the M_SUBPROC malloc bucket. - Add a small sigacts_*() API for managing sigacts structures: sigacts_alloc(), sigacts_free(), sigacts_copy(), sigacts_share(), and sigacts_shared(). - Remove the p_sigignore, p_sigacts, and p_sigcatch macros. - Add a mutex to struct sigacts that protects all the members of the struct. - Add sigacts locking. - Remove Giant from nosys(), kill(), killpg(), and kern_sigaction() now that sigacts is locked. - Several in-kernel functions such as psignal(), tdsignal(), trapsignal(), and thread_stopped() are now MP safe. Reviewed by: arch@ Approved by: re (rwatson)
* Add an argument to get_mcontext() which specified whether thedeischen2003-04-251-3/+8
| | | | | | | | | | | | | | | | | | | | syscall return values should be cleared. The system calls getcontext() and swapcontext() want to return 0 on success but these contexts can be switched to at a later time so the return values need to be cleared in the saved register sets. Other callers of get_mcontext() would normally want the context without clearing the return values. Remove the i386-specific context saving from the KSE code. get_mcontext() is not i386-specific any more. Fix a bad pointer in the alpha get_mcontext() code. The context was being bcopy()'d from &td->tf_frame, but tf_frame is itself a pointer, so the thread was being copied instead. Spotted by jake. Glanced at by: jake Reviewed by: bde (months ago)
* Hold the proc lock for curproc around sigonstack().jhb2003-04-181-0/+2
|
* MFi386: revision 1.561nyan2003-04-031-3/+33
|
* MFi386: revisions 1.556 and 1.557.nyan2003-04-021-12/+9
| | | | Backout revision 1.312.
* - Define a new md function 'casuptr'. This atomically compares and setsjeff2003-04-011-0/+8
| | | | | | | | | | a pointer that is in user space. It will be used as the basic primitive for a kernel supported user space lock implementation. - Implement this function in x86's support.s - Provide stubs that return -1 in all other architectures. Implementations will follow along shortly. Reviewed by: jake
* - Move p->p_sigmask to td->td_sigmask. Signal masks will be per thread withjeff2003-03-311-9/+9
| | | | | | | a follow on commit to kern_sig.c - signotify() now operates on a thread since unmasked pending signals are stored in the thread. - PS_NEEDSIGCHK moves to TDF_NEEDSIGCHK.
* - Change trapsignal() to accept a thread and not a proc.jeff2003-03-311-6/+6
| | | | | | | - Change all consumers to pass in a thread. Right now this does not cause any functional changes but it will be important later when signals can be delivered to specific threads.
* - Add vm_paddr_t, a physical address type. This is required for systemsjake2003-03-251-20/+21
| | | | | | | | | | | | | | | where physical addresses larger than virtual addresses, such as i386s with PAE. - Use this to represent physical addresses in the MI vm system and in the i386 pmap code. This also changes the paddr parameter to d_mmap_t. - Fix printf formats to handle physical addresses >4G in the i386 memory detection code, and due to kvtop returning vm_paddr_t instead of u_long. Note that this is a name change only; vm_paddr_t is still the same as vm_offset_t on all currently supported platforms. Sponsored by: DARPA, Network Associates Laboratories Discussed with: re, phk (cdevsw change)
* MFi386: revision 1.554.nyan2003-02-231-1/+1
|
* Remove BDE_DEBUGGER.jake2003-01-281-7/+1
| | | | Discussed with: bde
* MFi386: revision 1.552.nyan2003-01-101-2/+0
|
* MFi386: revision 1.551.nyan2002-12-041-3/+6
| | | | Approved by: re (jhb)
* MFi386: revision 1.550.nyan2002-11-171-1/+2
|
* Print real / avail memory in megabytes rather than kilobytes.des2002-11-091-4/+4
|
* Move the definitions of the hw.physmem, hw.usermem and hw.availpagestmm2002-11-071-37/+0
| | | | | | | | | | | sysctls to MI code; this reduces code duplication and makes all of them available on sparc64, and the latter two on powerpc. The semantics by the i386 and pc98 hw.availpages is slightly changed: previously, holes between ranges of available pages would be included, while they are excluded now. The new behaviour should be more correct and brings i386 in line with the other architectures. Move physmem to vm/vm_init.c, where this variable is used in MI code.
* Remove what was a temporary bogus assignment of bits of siginfo_t, as it doesjmallett2002-11-061-4/+0
| | | | | | not look like the prerequisites to fill it in properly will be in the tree for the upcoming release, but it's mostly done, so there is no need for these to stay around to remind us.
* MFi386: revisions 1.544 and 1.545.nyan2002-10-261-40/+320
|
* MFi386: revision 1.543.nyan2002-10-221-39/+39
|
* - kserunnable() is now sched_runnable() change instances of these wherejeff2002-10-121-2/+3
| | | | | appropriate. - include sched.h to see this new api.
* Fixed SBUS_RA_*_region_* functions.nyan2002-10-101-64/+167
|
* MFi386: revisions 1.539, 1.540 and 1.541.nyan2002-10-081-12/+20
|
* MFi386: revisions 1.536 and 1.538.nyan2002-09-241-6/+4
|
* For reasons now lost in historical fog, the bounds_check_with_label()phk2002-09-201-59/+0
| | | | | | | | | | | | function were put in i386/i386/machdep.c from where it has been cut and pasted to other architectures with only minor corruption. Disklabel is really a MI format in many ways, at least it certainly is when you operate on struct disklabel. Put bounds_check_with_label() back in subr_disklabel.c where it belongs. Sponsored by: DARPA & NAI Labs.
* MFi386: revisions 1.534 and 1.535.nyan2002-09-191-9/+201
|
* Allocate KSEs and KSEGRPs separatly and remove them from the proc structure.julian2002-09-151-1/+1
| | | | | | | | | next step is to allow > 1 to be allocated per process. This would give multi-processor threads. (when the rest of the infrastructure is in place) While doing this I noticed libkvm and sys/kern/kern_proc.c:fill_kinfo_proc are diverging more than they should.. corrective action needed soon.
* Fill out two fields (si_pid, si_uid) in the siginfo structure handed backjmallett2002-09-071-0/+2
| | | | | | | | | | | | | | | | to userland in the signal handler that were not being iflled out before, but should and can be. This part of sendsig could be slightly refactored to use an MI interface, or ideally, *sendsig*() would have an API change to accept a siginfo_t, which would be filled out by an MI function in the level above sendsig, and said MI function would make a small call into MD code to fill out the MD parts (some of which may be bogus, such as the si_addr stuff in some places). This would eventually make it possible for parts of the kernel sending signals to set up a siginfo with meaningful information. Reviewed by: mux MFC after: 2 weeks
* Diff reduction in comments for filling the siginfo structure - refer tojmallett2002-09-071-1/+1
| | | | | filling in the POSIX parts, when doing the same thing in every port of FreeBSD.
* Automatically enable CPU_ENABLE_SSE (detect and enable SSE instructions)peter2002-09-071-0/+7
| | | | | | | | if compiling with I686_CPU as a target. CPU_DISABLE_SSE will prevent this from happening and will guarantee the code is not compiled in. I am still not happy with this, but gcc is now generating code that uses these instructions if you set CPUTYPE to p3/p4 or athlon-4/mp/xp or higher.
* Take a shot at fixing up a whole stack of style and other embarresingpeter2002-08-311-18/+12
| | | | | unforced errors that Bruce identified. I have not yet addressed all of his concerns.
* Change hw.physmem and hw.usermem to unsigned long like they used to bepeter2002-08-301-13/+23
| | | | | | | | | | | | | in the original hardwired sysctl implementation. The buf size calculator still overflows an integer on machines with large KVA (eg: ia64) where the number of pages does not fit into an int. Use 'long' there. Change Maxmem and physmem and related variables to 'long', mostly for completeness. Machines are not likely to overflow 'int' pages in the near term, but then again, 640K ought to be enough for anybody. This comes for free on 32 bit machines, so why not?
* Renamed poorly named setregs to exec_setregs. Moved its prototype tojake2002-08-291-1/+2
| | | | imgact.h with the other exec support functions.
* Use pmap_kenter() rather than vtopte() and bashing the page tablespeter2002-07-181-14/+3
| | | | directly.
* MFi386: revision 1.524.nyan2002-07-171-3/+10
|
* MFi386: sys/i386/i386/machdep.c revision 1.522.kato2002-07-141-1/+0
|
* s/procrunnable/kserunnable/ in a commentpeter2002-07-081-1/+1
|
* MFi386: revision 1.521nyan2002-06-301-1/+1
|
* MFi386: sys/i386/i386/machdep.c rev. 1.520.kato2002-06-251-2/+4
|
* MFi386: revision 1.519nyan2002-05-141-1/+1
|
* Rework the kernel environment subsystem. We now convert the staticmux2002-04-171-1/+2
| | | | | | | | | | | | | | | | | environment needed at boot time to a dynamic subsystem when VM is up. The dynamic kernel environment is protected by an sx lock. This adds some new functions to manipulate the kernel environment : freeenv(), setenv(), unsetenv() and testenv(). freeenv() has to be called after every getenv() when you have finished using the string. testenv() only tests if an environment variable is present, and doesn't require a freeenv() call. setenv() and unsetenv() are self explanatory. The kenv(2) syscall exports these new functionalities to userland, mainly for kenv(1). Reviewed by: peter
* MFi386: revision 1.517.kato2002-04-111-5/+9
|
* GC various bits and pieces of USERCONFIG from all over the place.phk2002-04-091-6/+0
|
* GC the "dumplo" variable, which is no longer used.phk2002-04-071-1/+0
| | | | A lot of sys/*/*/machdep.c seems not to be.
* Change callers of mtx_init() to pass in an appropriate lock type name. Injhb2002-04-041-2/+2
| | | | | | | most cases NULL is passed, but in some cases such as network driver locks (which use the MTX_NETWORK_LOCK macro) and UMA zone locks, a name is used. Tested on: i386, alpha, sparc64
* Moved signal handling and rescheduling from userret() to ast() so thatbde2002-04-041-0/+2
| | | | | | | | | | | they aren't in the usual path of execution for syscalls and traps. The main complication for this is that we have to set flags to control ast() everywhere that changes the signal mask. Avoid locking in userret() in most of the remaining cases. Submitted by: luoqi (first part only, long ago, reorganized by me) Reminded by: dillon
OpenPOWER on IntegriCloud