summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
Commit message (Collapse)AuthorAgeFilesLines
* Remove reference to ata resource in print_child.grehan2003-04-181-1/+0
|
* Remove sparse address hack.grehan2003-04-181-2/+0
|
* Vastly simplify the macio ATA attachment, now that the register filegrehan2003-04-181-225/+42
| | | | indirection is handled in the ATA common code.
* Remove sparse addressing hack. The macio ATA driver no longer requiresgrehan2003-04-182-5/+0
| | | | this.
* - Convert NetBSD-derived macros to inline functions for bettergrehan2003-04-181-65/+176
| | | | | | type-checking and future debug code. - Remove sparse addressing hack, since the only consumer, the macio ATA driver, doesn't require it anymore.
* 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-1/+1
| | | | | | 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.
* 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>
* Define ovbcopy() as a macro which expands to the equivalent bcopy() call,des2003-04-041-6/+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 __FBSDID rather than rcsid[].obrien2003-04-0323-92/+46
|
* - Define a new md function 'casuptr'. This atomically compares and setsjeff2003-04-012-0/+16
| | | | | | | | | | 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-312-6/+6
| | | | | | | 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-312-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.
* - Add vm_paddr_t, a physical address type. This is required for systemsjake2003-03-251-0/+1
| | | | | | | | | | | | | | | 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-221-1/+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.
* Enable the FPU on first use per-thread and save state across contextgrehan2003-03-206-117/+101
| | | | | | | | | | | switches. Not as lazy as it could be. Changing FPU state with sigcontext still TODO. fpu.c - convert some asm to inline C, and macroize fpu loads/stores swtch.S - call out to save/restore fpu routines trap.c - always call enable_fpu, since this shouldn't be called once the FPU has been enabled for a thread genassym.c - define for pcb fpu flag
* - Add PCI ID for Paddington i/o controller, used in old G3'sgrehan2003-03-201-2/+4
| | | | | - Add ID for the Intrepid i/o controller, used in new 12"/17" PowerBooks - put IDs in chronological order
* Add machine check handler. While generally useful, it's required whengrehan2003-03-192-2/+2
| | | | | issuing PCI config cycles on MPC106-based PowerMacs, which cause machine checks when accessing non-existent/empty slots.
* 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.
* Grab Giant around calls to contigmalloc() and contigfree() somux2003-03-131-1/+6
| | | | that drivers converted to be MP safe don't have to deal with it.
* Replace calls to WITNESS_SLEEP() and witness_list() with equivalent callsjhb2003-03-042-12/+4
| | | | to WITNESS_WARN().
* Simplify ofw_pci_fixup(). It doesn't need to be recursive, since thegrehan2003-03-031-19/+3
| | | | | | bridge code already handles IRQ adjustment on the far side of a bridge. Reviewed by: benno
* These files are no longer used. They have been replaced with similarly namedbenno2003-02-284-597/+0
| | | | .S files.
* Register typo and incorrect 32-bit constant load in previous commit.grehan2003-02-262-4/+4
| | | | Resulted in AST delivery not working.
* Correctly set BUS_SPACE_MAXSIZE in all the busdma backends.mux2003-02-261-1/+1
| | | | | 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-253-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | - 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
* Catch up with ATAng changesgrehan2003-02-242-18/+23
|
* Doh. Forgot to remove _KERNEL version.grehan2003-02-231-7/+0
|
* Expose powerpc_mb() to user-space. Currently needed for atomic.h users,grehan2003-02-221-0/+10
| | | | this may go away in the future.
* Adjust IRQ count for psim's OpenPIC model - it seems to begrehan2003-02-201-0/+6
| | | | off by 1.
* Catch up to latest KSE changesgrehan2003-02-202-6/+8
|
* Back out M_* changes, per decision of the TRB.imp2003-02-196-7/+7
| | | | Approved by: trb
* Move a bunch of flags from the KSE to the thread.julian2003-02-171-4/+3
| | | | | | | | 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@
* - Split the struct kse into struct upcall and struct kse. struct kse willjeff2003-02-172-2/+2
| | | | | | | 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-172-2/+2
| | | | | | | 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 whitespace problems with option lines.obrien2003-02-131-31/+31
|
* Fix the style of the SCHED_4BSD commit.obrien2003-02-131-1/+1
|
* Missed odd address test when transcribing the Alpha version.grehan2003-02-131-1/+1
| | | | This fixes the checksum problems seen with telnet.
* 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)
* Oops. Include opt_ddb.h.benno2003-02-061-0/+2
|
* Add a driver that attaches to the gpio node of macio and allows you to enterbenno2003-02-062-1/+143
| | | | | | | DDB when the interrupt button (aka the "programmer's switch") is pressed. This isn't unfortunately an NMI, but it's a handy way to get into DDB quickly if needed.
* Add a cast to silence a warning.benno2003-02-061-1/+1
|
* If a device tries to allocate an interrupt that's not on it's resource list,benno2003-02-061-0/+16
| | | | assume that the child knows what it's doing and add it to the resource list.
* GC an unused variable.benno2003-02-052-4/+0
|
* Export the ns_per_tick variable through md_var.h rather than by declaringbenno2003-02-054-4/+4
| | | | it extern in cpu.c.
* - Use cpu_setup() instead of identifycpu().benno2003-02-052-160/+2
| | | | - Remove identifycpu().
* Add cpu.c. This contains one exported function, cpu_setup(), which handlesbenno2003-02-052-0/+366
| | | | | | setup of and printing information about cpus. Obtained from: NetBSD (parts)
* - Update spr.hbenno2003-02-052-79/+325
| | | | | | | | | | - Add hid.h Obtained from: NetBSD NOTE: This undoes some changes I'd made to prefix the processor name defines with PVR_. This was due to my original decision to use MPC750 as a cpu name. With this changed, the PVR_ change is no longer required.
OpenPOWER on IntegriCloud