summaryrefslogtreecommitdiffstats
path: root/sys/ia64
Commit message (Collapse)AuthorAgeFilesLines
* Add the EHCI host controller.marcel2003-04-161-0/+1
|
* I deserve a big pointy hat for having missed all those referencesmux2003-04-101-9/+5
| | | | to bus_dmasync_op_t in my last commit.
* Change the operation parameter of bus_dmamap_sync() from anmux2003-04-101-10/+4
| | | | | | enum to an int and redefine the BUS_DMASYNC_* constants as flags. This allows us to specify several operations in one call to bus_dmamap_sync() as in NetBSD.
* o In struct prison, add an allprison linked list of prisons (protectedmike2003-04-091-0/+1
| | | | | | | | | | | | | | | by allprison_mtx), a unique prison/jail identifier field, two path fields (pr_path for reporting and pr_root vnode instance) to store the chroot() point of each jail. o Add jail_attach(2) to allow a process to bind to an existing jail. o Add change_root() to perform the chroot operation on a specified vnode. o Generalize change_dir() to accept a vnode, and move namei() calls to callers of change_dir(). o Add a new sysctl (security.jail.list) which is a group of struct xprison instances that represent a snapshot of active jails. Reviewed by: rwatson, tjr
* Introduce an M_ASSERTPKTHDR() macro which performs the very common taskdes2003-04-081-2/+1
| | | | | | | of asserting that an mbuf has a packet header. Use it instead of hand- rolled versions wherever applicable. Submitted by: Hiten Pandya <hiten@unixdaemons.com>
* Remove COMPAT_FREEBSD4. It's impossible because FreeBSD 4 does notmarcel2003-04-082-2/+0
| | | | run on ia64 at all.
* Remove the 32KB VHPT section from the kernel image. We don't reallymarcel2003-04-064-26/+4
| | | | | | | | | | | | use it because we allocate a VHPT based on the size of the physical memory and even if the allocated VHPT is 32KB, we don't use the in- image section for it. Since the VHPT must be naturally aligned, we save 48K on average (due to alignment). Consequently, we start off with the VHPT disabled (it is assumed the VHPT is disabled because the EFI loader runs without memory address translation and thus has no need to setup the VHPT). It's probably a good idea to explicitly disable the VHPT if we make the use of the VHPT optional.
* Also set the access bit in the PTE when we get a data dirty bit fault.marcel2003-04-062-4/+4
| | | | | | This avoids an immediate access bit fault when we serviced the dirty bit fault in case the access bit is unset. This typically happens for newly allocated memory that's being zeroed and thus very common.
* Include <geom/geom_disk.h> and stop including <sys/disk.h>. Themarcel2003-04-051-1/+1
| | | | former gives us 'struct disk'.
* Define ovbcopy() as a macro which expands to the equivalent bcopy() call,des2003-04-042-2/+0
| | | | | | | | | | | | | | to take care of the KAME IPv6 code which needs ovbcopy() because NetBSD's bcopy() doesn't handle overlap like ours. Remove all implementations of ovbcopy(). Previously, bzero was a function pointer on i386, to save a jmp to bzero_vector. Get rid of this microoptimization as it only confuses things, adds machine-dependent code to an MD header, and doesn't really save all that much. This commit does not add my pagezero() / pagecopy() code.
* Use bioq_flush() to drain a bio queue with a specific error code.phk2003-04-011-1/+1
| | | | | | | | Retain the mistake of not updating the devstat API for now. Spell bioq_disksort() consistently with the remaining bioq_*(). #include <geom/geom_disk.h> where this is more appropriate.
* - Add thr and umtx system calls.jeff2003-04-011-0/+8
|
* - Define a new md function 'casuptr'. This atomically compares and setsjeff2003-04-011-0/+7
| | | | | | | | | | 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
* - Add a placeholder for sigwaitjeff2003-03-311-0/+1
|
* - Move p->p_sigmask to td->td_sigmask. Signal masks will be per thread withjeff2003-03-311-3/+3
| | | | | | | 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-2/+2
| | | | | | | - 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.
* - Use sigexit() instead of twiddling the signal mask, catch, ignore, andjeff2003-03-311-5/+1
| | | | | action bits to allow SIGILL to work as expected. This brings this file in line with other architectures.
* Correct LDBL_* constants based on values from i386.das2003-03-271-9/+9
|
* - Add vm_paddr_t, a physical address type. This is required for systemsjake2003-03-252-1/+2
| | | | | | | | | | | | | | | 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)
* Remove bitrot associated with `maxusers'.ru2003-03-222-2/+0
| | | | Submitted by: bde
* Use atomic operations to increment and decrement the refcountmux2003-03-201-4/+4
| | | | | | | in busdma tags. There are currently no tags shared accross different drivers so this isn't needed at the moment, but it will be required when we'll have a proper newbus method to get the parent busdma tag.
* Made the prototypes for pmap_kenter and pmap_kremove MD. These functionsjake2003-03-161-0/+2
| | | | | | | | | are machine dependent because they are not required to update the tlb when mappings are added or removed, and doing so is machine dependent. In addition, an implementation may require that pages mapped with pmap_kenter have a backing vm_page_t, which is not necessarily true of all physical pages, and so may choose to pass the vm_page_t to pmap_kenter instead of the physical address in order to make this requirement clear.
* Bah, get it right this time and add sys/lock.h before sys/mutex.h.mux2003-03-141-0/+1
|
* Oops, add missing includes. Pass me the pointy hat.mux2003-03-141-0/+1
| | | | Reported by: jake
* Grab Giant around calls to contigmalloc() and contigfree() somux2003-03-131-1/+8
| | | | that drivers converted to be MP safe don't have to deal with it.
* Memory allocated with contigmalloc() should be freed withmux2003-03-131-1/+4
| | | | contigfree(), not with free().
* Fix two rounds of breakages and cleanup. Remove the sccdebug sysctlmarcel2003-03-101-55/+11
| | | | | | while I'm here and garbage collect dead code (ssc_clone). Define d_maxsize as DFLTPHYS for now because that's what it will be if we don't define it.
* Centralize the devstat handling for all GEOM disk device driversphk2003-03-082-10/+1
| | | | | | | | in geom_disk.c. As a side effect this makes a lot of #include <sys/devicestat.h> lines not needed and some biofinish() calls can be reduced to biodone() again.
* Fix threaded applications on ia64 that are linked dynamicly. We didmarcel2003-03-051-1/+2
| | | | | | | | | | | | | | | | | not save (restore) the global pointer (GP) in the jmpbuf in setjmp (longjmp) because it's not needed in general. GP is considered a scratch register at callsites and hence is always restored after a call (when it's possible that the call resolves to a symbol in a different loadmodule; otherwise GP does not have to be saved and restored at all), including calls to setjmp/longjmp. There's just one problem with this now that we use setjmp/longjmp for context switching: A new context must have GP defined properly for the thread's entry point. This means that we need to put GP in the jmpbuf and consequently that we have to restore is in longjmp. This automaticly requires us to save it as well. When setjmp/longjmp isn't used for context switching, this can be reverted again.
* ABI breaker: Move the J_SIGMASK field in the jmpbuf beforemarcel2003-03-051-3/+2
| | | | | | | | | | | the J_SIG0 field. While here, rename J_SIG0 to J_SIGSET and remove J_SIG1. The main reason for this change is that the 128-bit sigset_t is now aligned on a 16-byte boundary, which allows us to use 16-byte atomic loads and stores on CPUs that support it. The removal of J_SIG1 is done to avoid confusion: it is never accessed and should not be. Renaming J_SIG0 to J_SIGSET is the icing on the cake that's better done now than later.
* Replace calls to WITNESS_SLEEP() and witness_list() with equivalent callsjhb2003-03-041-13/+4
| | | | to WITNESS_WARN().
* Gigacommit to improve device-driver source compatibility betweenphk2003-03-032-26/+17
| | | | | | | | | | | | | branches: Initialize struct cdevsw using C99 sparse initializtion and remove all initializations to default values. This patch is automatically generated and has been tested by compiling LINT with all the fields in struct cdevsw in reverse order on alpha, sparc64 and i386. Approved by: re(scottl)
* MFi386 revision 1.88alc2003-03-011-3/+0
| | | | Remove some long unused declarations.
* Needn't kse.hdavidxu2003-02-271-1/+0
|
* Change the process flags P_KSES to be P_THREADED.julian2003-02-271-1/+1
| | | | This is just a cosmetic change but I've been meaning to do it for about a year.
* Correctly set BUS_SPACE_MAXSIZE in all the busdma backends.mux2003-02-262-2/+2
| | | | | It was bogusly set to 64 * 1024 or 128 * 1024 because it was bogusly reused in the BUS_DMAMAP_NSEGS definition.
* Cleanup of the d_mmap_t interface.mux2003-02-252-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | | - Get rid of the useless atop() / pmap_phys_address() detour. The device mmap handlers must now give back the physical address without atop()'ing it. - Don't borrow the physical address of the mapping in the returned int. Now we properly pass a vm_offset_t * and expect it to be filled by the mmap handler when the mapping was successful. The mmap handler must now return 0 when successful, any other value is considered as an error. Previously, returning -1 was the only way to fail. This change thus accidentally fixes some devices which were bogusly returning errno constants which would have been considered as addresses by the device pager. - Garbage collect the poorly named pmap_phys_address() now that it's no longer used. - Convert all the d_mmap_t consumers to the new API. I'm still not sure wheter we need a __FreeBSD_version bump for this, since and we didn't guarantee API/ABI stability until 5.1-RELEASE. Discussed with: alc, phk, jake Reviewed by: peter Compile-tested on: LINT (i386), GENERIC (alpha and sparc64) Runtime-tested on: i386
* Change the console interface to pass a "struct consdev *" instead of aphk2003-02-201-5/+5
| | | | | | | | | dev_t to the method functions. The dev_t can still be found at struct consdev *->cn_dev. Add a void *cn_arg element to struct consdev which the drivers can use for retrieving their softc.
* Back out M_* changes, per decision of the TRB.imp2003-02-196-14/+14
| | | | Approved by: trb
* Fix missed patch in last commitjulian2003-02-172-10/+6
|
* Move a bunch of flags from the KSE to the thread.julian2003-02-173-16/+11
| | | | | | | | I was in two minds as to where to put them in the first case.. I should have listenned to the other mind. Submitted by: parts by davidxu@ Reviewed by: jeff@ mini@
* Define _ALIGNBYTES to be 15. This should have been done right away.marcel2003-02-171-1/+1
|
* Print two new processor features:marcel2003-02-171-2/+4
| | | | | o Spontaneous deferral (A feature required by dutch railways :-) o 16-byte atomic operations (ld, st, cmpxchg)
* - Split the struct kse into struct upcall and struct kse. struct kse willjeff2003-02-171-1/+1
| | | | | | | soon be visible only to schedulers. This greatly simplifies much the KSE code. Submitted by: davidxu
* - Move ke_sticks, ke_iticks, ke_uticks, ke_uu, ke_su, and ke_iu back intojeff2003-02-171-3/+3
| | | | | | | the proc. These counters are only examined through calcru. Submitted by: davidxu Tested on: x86, alpha, UP/SMP
* Remove #include <sys/dkstat.h>phk2003-02-161-1/+0
|
* Fix misuse of Maxmem in the calculation of the VHPT size. Maxmemmarcel2003-02-151-1/+1
| | | | | | | | is already in pages, so we should not convert from bytes to pages. The result of this bug was bad scaling of the VHPT relative to the available memory. Submitted by: Arun Sharma <arun@sharma-home.net>
* Fix the style of the SCHED_4BSD commit.obrien2003-02-131-1/+1
|
* MFi386alc2003-02-131-8/+2
| | | | Remove kptobj. Instead, use VM_ALLOC_NOOBJ.
* Implement fpclassify():mike2003-02-082-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | o Add a MD header private to libc called _fpmath.h; this header contains bitfield layouts of MD floating-point types. o Add a MI header private to libc called fpmath.h; this header contains bitfield layouts of MI floating-point types. o Add private libc variables to lib/libc/$arch/gen/infinity.c for storing NaN values. o Add __double_t and __float_t to <machine/_types.h>, and provide double_t and float_t typedefs in <math.h>. o Add some C99 manifest constants (FP_ILOGB0, FP_ILOGBNAN, HUGE_VALF, HUGE_VALL, INFINITY, NAN, and return values for fpclassify()) to <math.h> and others (FLT_EVAL_METHOD, DECIMAL_DIG) to <float.h> via <machine/float.h>. o Add C99 macro fpclassify() which calls __fpclassify{d,f,l}() based on the size of its argument. __fpclassifyl() is never called on alpha because (sizeof(long double) == sizeof(double)), which is good since __fpclassifyl() can't deal with such a small `long double'. This was developed by David Schultz and myself with input from bde and fenner. PR: 23103 Submitted by: David Schultz <dschultz@uclink.Berkeley.EDU> (significant portions) Reviewed by: bde, fenner (earlier versions)
OpenPOWER on IntegriCloud