Commit Graph

294 Commits

Author SHA1 Message Date
matt
bb71a6b332 Add AltiVec VSCR definitions. 2000-11-19 20:41:04 +00:00
matt
b1e1cfdb4a Add AltiVec VEC bit. 2000-11-19 19:52:37 +00:00
tsubai
b11322a19d powerpc HID registers definitions (only HID0 for now). 2000-11-09 11:49:13 +00:00
tshiozak
51a53de0d5 Preparation for the future introduction of multibyte locale.
- MB_LEN_MAX is increased to 32.
 - To ensure binary compatibility for old executables
   under multibyte locale, versioned setlocale is added.
 - __mb_len_cur definision is added in setlocale.c
   and enable it in stdlib.h .
   It is also important for multibyte locale stuffs,
   but I just forgot.
2000-08-08 22:31:13 +00:00
tsubai
2c691df1ec uvm/uvm_inherit.h was removed. 2000-08-02 09:06:56 +00:00
tsubai
7314c0eba6 Clear the reservation in __cpu_simple_lock_try even if it failed to lock.
(From ws@tools.de)
2000-07-08 04:36:56 +00:00
tsubai
9ad1103d98 Make it compile with "options MULTIPROCESSOR". 2000-07-06 22:56:22 +00:00
tsubai
212a0a08d2 Implement powerpc spin lock functions. 2000-07-06 03:52:25 +00:00
itojun
d738f90fd7 raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory.  MHLEN is too small
  already (less than 80) and there are chances for unwanted packet loss due
  to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
  (even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
  extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.
2000-06-30 17:55:11 +00:00
kleink
bb2ed0f487 G/c _BSD_INTPTR_T_ and _BSD_UINTPTR_T_. 2000-06-27 05:53:22 +00:00
kleink
47b5c5e3b1 Resolve some formatting nits; add __intptr_t and __uintptr_t. 2000-06-27 04:58:51 +00:00
kleink
e695f72a2e Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
2000-06-26 15:42:16 +00:00
mrg
4c698e84f6 <vm/vm_param.h> -> <uvm/uvm_param.h> 2000-06-26 14:58:58 +00:00
mrg
2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
mrg
f5f84f80c5 <vm/vm_prot.h> becomes <uvm/uvm_prot.h> 2000-06-25 13:37:51 +00:00
kleink
133ea38323 Add a WEAK_ALIAS() macro. 2000-06-23 12:18:45 +00:00
tsubai
1bfa0fc6b6 Add cpu_counter(). 2000-06-11 16:32:42 +00:00
tsubai
5257d23759 Add fpreg area in struct md_coredump. 2000-06-04 11:57:17 +00:00
tsubai
86ac32df3d Add PT_GETFPREGS and PT_SETFPREGS support. 2000-06-04 09:30:43 +00:00
is
8a6db88c1d Prepare for AmigaPPC. 2000-05-25 21:10:14 +00:00
thorpej
855b79db92 Let each platform typedef the new __cpu_simple_lock_t, which should
be the most efficient type used for the atomic operations in the
simplelock structure, and should also be __volatile.
2000-05-02 04:41:04 +00:00
thorpej
f51470a514 Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED.  These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case).  Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
2000-04-29 03:31:45 +00:00
tsubai
be4988ee6d Make kernel profiling work. 2000-04-18 17:06:01 +00:00
minoura
78b105698a Move dl* function definitions to libc on ELF.
Based on the patch supplied by Takuya Shiozaki <tshiozak@astec.co.jp>.
See http://mail-index.netbsd.org/tech-userlevel/2000/02/23/0000.html.
2000-04-02 15:35:47 +00:00
jdolecek
fde0c4e6e0 Prototype vtophys() before defining it. Needed for compilation with
-Wstrict prototypes on macppc.

Problem noted by  Hans-Christian Becker <hcb@phc.chalmers.se> in private mail.
2000-03-30 16:18:24 +00:00
tron
e86957458a Install "machineendian_machdep.h". 2000-03-17 22:36:31 +00:00
mycroft
9e21b6555a In the `MY THAT'S GROSS' department...
Eliminate the recursive include of machine/endian.h from sys/endian.h.
2000-03-17 00:09:18 +00:00
mycroft
02905321b2 Foolish consistency. Mainly, always use underscores and sys/endian.h. 2000-03-16 15:09:34 +00:00
kleink
ad7dbd825c Define ISO C99 (unsigned) long long (min, max) symbols. 2000-03-07 19:33:00 +00:00
tsubai
0086d842d5 Rewrite stdarg/varargs. 2000-02-27 17:50:20 +00:00
tsubai
e7edda84b7 Remove vmparam.h. 2000-02-18 08:50:25 +00:00
tsubai
a6343f76db Unused. (PR 9424) 2000-02-16 14:02:13 +00:00
tsubai
90fe757934 Fix typo in comment. 2000-02-13 10:25:07 +00:00
thorpej
dded044fc2 Update for the NKMEMPAGES changes. 2000-02-11 19:25:12 +00:00
tsubai
0867c09dad Change va_arg definition when __lint__ is defined. 2000-02-09 12:54:47 +00:00
kleink
36e6bc645e Improve namespace test macros a bit. 2000-02-05 14:04:36 +00:00
kleink
82464e46d6 Add a C99-style va_copy macro. 2000-02-03 16:16:06 +00:00
danw
6c14ba0dba Fill in the alignment trap handler a bit: now it can fix unaligned
floating point loads and stores (to work around a gcc bug), but will
still cause a bus error on other sorts of unaligned accesses.
2000-01-19 03:30:12 +00:00
kleink
693059feda const -> __const and include <sys/cdefs.h> earlier; fixes PR lib/9052
by Takahiro Kambe.
2000-01-04 14:20:05 +00:00
kleink
11e6c54cfc C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
1999-12-23 10:15:05 +00:00
thorpej
8fc6795a77 - Comment the BAT bits.
- Add defintions for the PowerPC 601 BATs.
- Change the BATU()/BATL() macros to be a bit more flexible; allow size,
  permissions, etc. to be specified.
1999-12-18 01:36:06 +00:00
thorpej
05684a14e6 Comment the MSR bits, and note which ones are not present on the PowerPC 601. 1999-12-18 01:34:15 +00:00
thorpej
0352041467 Hardware Implementation Dependent registers for the PowerPC 601. 1999-12-18 01:33:45 +00:00
danw
83f1c31647 Fix "FPCSR" to "FPSCR". ("Floating Point Status and Control Register") 1999-12-07 15:14:56 +00:00
ragge
0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
kleink
522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
chs
f3a668ed84 eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +00:00
simonb
3c185af5fd Include <sys/endian.h> after defining whether where are little- or
big-endian.  i386, pc532 and vax still include <machine/byte_swap.h>
and define macros for the {n,h}to{h,n}*() functions.  mips also
defines some endian-independent assembly-code aliases for unaligned
memory accesses.
1999-08-21 05:53:50 +00:00
simonb
06a92524c2 Include <sys/bswap.h> for function prototypes. i386, pc532 and vax
still include <machine/byte_swap.h> and define macros for some of
the bswap*() functions.
1999-08-21 05:39:51 +00:00
tsubai
183ef12cd5 Adapt pmap_extract() change. 1999-07-11 17:44:08 +00:00
thorpej
3ebbe095e0 Change the pmap_extract() interface to:
boolean_t pmap_extract(pmap_t, vaddr_t, paddr_t *);
This makes it possible for the pmap to map physical address 0.
1999-07-08 18:05:21 +00:00
danw
9d4f4eebdb reorder the fp_rnd constants to match the values used by the
powerpc fpu
1999-07-07 01:52:26 +00:00
thorpej
0288ffb53a pmap_change_wiring() -> pmap_unwire(). 1999-06-17 19:23:20 +00:00
tsubai
0e57d44e45 Add missing CPU_MAXID definition. 1999-05-05 11:20:54 +00:00
tsubai
6168467392 Add cpu.h. 1999-05-05 10:15:53 +00:00
tsubai
fdabab77f2 PT_{STEP,GETREGS,SETREGS} support. 1999-05-03 10:02:19 +00:00
kleink
5cbe23baad Garbage-collect VM_MBUF_SIZE leftover. 1999-05-02 18:12:32 +00:00
ws
5423093850 Modify syncicache on PowerPC from an inline to a real function.
Support different cache line sizes with the same object code in userland.
While here, move the function to implementation name space.
1999-04-17 21:16:45 +00:00
thorpej
4b603c180a Use the same hack as pmap_zero_page() and pmap_copy_page() to provide
direct-mapped pool pages.
1999-04-16 21:45:19 +00:00
thorpej
63b6321834 VM_MBUF_SIZE is in terms of MCLBYTES, not CLBYTES. 1999-03-23 00:31:59 +00:00
thorpej
a77ccfe460 Garbage-collect. 1999-03-20 01:40:25 +00:00
tsubai
61fbe51007 First-cut of profiling support.
XXX userland only, for now.
1999-03-05 07:59:13 +00:00
tsubai
96f0fb14a1 Add RSS accounting. 1999-03-05 06:10:48 +00:00
tsubai
01614b7217 Implement pmap_procwr().
(Not tested.  gdb doesn't work on powerpc yet.)
1999-02-26 14:40:45 +00:00
mycroft
897a8a7f29 Mark [hn]to[nh][ls]() with __const__, so they are subject to CSE. 1999-01-24 12:55:01 +00:00
tsubai
3e7448240b Add missing backslash. 1999-01-17 12:51:03 +00:00
chuck
9cb41178b7 MNN is no longer optional, remove old code 1999-01-16 20:39:03 +00:00
bouyer
dc306354b0 Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
1999-01-15 13:31:15 +00:00
tsubai
0280ba028c Fix void * arithmetic. 1999-01-10 10:13:15 +00:00
sakamoto
64ba00be2c Change r_type bit field size 5 to 6 and reduce unused bit(2 to 1).
Suggested by Mirian Crzig Lennox.
1998-12-03 05:15:06 +00:00
tsubai
4cb00b9fe2 Adapt to gcc change (calling sequence). 1998-12-02 14:23:03 +00:00
thorpej
a6f7e0c05a Implement WARN_REFERENCES(). 1998-12-02 00:58:42 +00:00
tsubai
ac7d3e6487 Add PIC definitions. 1998-11-24 11:17:17 +00:00
ws
82fe9b4f90 The last fix in trap.c missed R2.
And correct the size of the fault buffer while being here.
1998-11-22 21:21:32 +00:00
mycroft
09093330b1 Add {LONG,WORD}_BIT and {DBL,FLT}_{DIG,MAX,MIN}. 1998-11-16 04:12:29 +00:00
thorpej
7083b63277 Back out previous; I'm punting PowerPC to tsubai or sakamoto. 1998-09-16 23:51:27 +00:00
thorpej
ef3f4d39df Need 103 longs for jmp_buf now (128-bit signal mask, at the front of the
jump buffer).
1998-09-16 23:33:18 +00:00
thorpej
cbfc257eda sigset13_t -> int. 1998-09-14 02:48:33 +00:00
thorpej
c7d391b23c Make signal delivery work again. 1998-09-13 09:15:51 +00:00
tsubai
3a8ad815c4 Add some prototypes. 1998-09-01 16:35:50 +00:00
tsubai
b9a44d6b63 vm_offset_t --> [pv]addr_t 1998-08-31 14:43:39 +00:00
tsubai
378fc0778a Change db_expr_t from int to long like other ports. 1998-08-31 14:16:48 +00:00
kleink
708c5f826e Add missing wint_t (currently unused). 1998-08-16 17:16:56 +00:00
wrstuden
0e4dc30457 As ovbcopy & bcopy are now done in terms of mem* routines, it makes
no sense to "#define ovbcopy bcopy".
1998-08-16 02:15:50 +00:00
eeh
a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
kleink
546365a27e _POSIX_SOURCE -> _POSIX_C_SOURCE 1998-08-06 11:25:04 +00:00
mycroft
a24dbc8065 (Always) (practice) (safe) (macro expansion). 1998-07-31 15:07:41 +00:00
thorpej
c8f1cea511 Provide SSIZE_MAX. 1998-07-28 23:20:54 +00:00
tsubai
db105fc687 Make vtophys() return non-zero even if the addr < end. 1998-07-25 15:06:28 +00:00
thorpej
d47ea67c1f Define one page free list, and put all pages on it. 1998-07-08 04:43:18 +00:00
kleink
1fbd0b3749 GC the unused `physadr' type, which was not able to hold a complete physical
address on 2 architectures anyhow.  Also, move the definition of the `label_t'
type inside _KERNEL protection, since it is specific to the in-kernel
setjmp()/longjmp() implementations.
1998-06-14 20:09:22 +00:00
cgd
651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
sakamoto
9125a5f198 Merge in MACHINE_NEW_NONCONTIG support and some fix from Tsubai-San.
UVM support.
1998-06-05 11:27:09 +00:00
sakamoto
9c11ca3d51 Rename NetBSD/powerpc to NetBSD/ofppc.
New sys/arch/powerpc with PowerPC-generic stuff.
1998-05-28 07:56:42 +00:00
kleink
a97fc2f180 If any of _ANSI_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE are defined, don't
provide any identifiers other than sig_atomic_t.
1998-05-25 20:59:01 +00:00
thorpej
1686aca01d Pull in opt_gateway.h as appropriate. 1998-04-29 23:11:00 +00:00
kleink
a53c1863fe Provide definitions for intptr_t and uintptr_t, signed resp. unsigned integral
types large enough to hold any pointer.
1998-04-27 17:39:10 +00:00
drochner
3bb9e75863 Change MBR partition type for NetBSD to 0xa9, like the i386 port.
Provide compatibility via COMPAT_386BSD_MBRPART.
1998-03-02 16:18:17 +00:00
mycroft
79f597383e Fix layout of powerpc_saved_state. 1998-02-23 03:22:16 +00:00
mycroft
d387a356c8 Clean up, add physadr. 1998-02-23 03:21:40 +00:00
mycroft
b7bc9342a8 Fix typo. 1998-02-18 11:10:08 +00:00
mycroft
3b9429b248 Minor changes to make all the float.h files match. 1998-02-18 11:01:27 +00:00
mycroft
b5c132e4d2 Prototype __flt_rounds() consistently. 1998-02-03 01:26:20 +00:00
sakamoto
a013a80854 Import DDB from OpenBSD/powerpc. 1998-01-27 15:13:09 +00:00
sakamoto
7055a6a919 Import DDB from OpenBSD/powerpc. 1998-01-27 09:15:58 +00:00
perry
6f57e5c573 multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom) 1998-01-09 22:23:44 +00:00
thorpej
a26db50632 Don't need __VM_PMAP_HACK anymore. 1998-01-06 08:14:14 +00:00
perry
015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
thorpej
b9f1b716f3 Now that all ports have pmap_activate(), and it has an identical interface,
prototype it in <vm/pmap.h>
1998-01-03 01:12:59 +00:00
thorpej
c162e92a71 Implement pmap_activate(). 1998-01-02 22:17:18 +00:00
kleink
66c2794142 Add _BSD_SUSECONDS_T_ and _BSD_USECONDS_T_; do some space vs. tab formatting
cleanup
1997-11-23 20:20:53 +00:00
thorpej
0b04d28454 Mark uses of long long with /* LONGLONG */ for lint. From
Chris Demetriou <cgd@pa.dec.com>.
1997-11-05 04:36:08 +00:00
thorpej
aefc208b70 asm -> __asm__, volatile -> __volatile 1997-11-05 04:19:04 +00:00
thorpej
4730a8cbec Bug fixes and cleanup from Chris Demetriou <cgd@pa.dec.com>:
- fix _C_LABEL so that it actually works.
- make __RENAME use _C_LABEL.
- fix __RENAME so that it expects an unquoted argument.
- fix __indr_reference and __warn_references so that they
  supply their own final semicolon.
- define __warn_references to nothing if not GNU C (required
  by the way it's used).

The __warn_references semicolon change has to be made
so that __warn_references can be defined into nothing.
(A ; all by itself isn't a great idea.)  The __indr_reference
change was made for consistency.
1997-11-04 23:09:23 +00:00
thorpej
665f7d1a6e Implement __RENAME() in <machine/cdefs.h> 1997-10-22 05:20:32 +00:00
bouyer
6ab3092b11 Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
1997-10-09 15:42:19 +00:00
jtc
4229acf79d Fix tipo inherited from old version of TNF copyright template. 1997-10-09 08:37:20 +00:00
mrg
dc6a98e92c bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:09:23 +00:00
gwr
e2a58b69f7 Add #define __VM_PMAP_HACK as a temporary measure. 1997-05-16 21:35:30 +00:00
thorpej
87bbb0ba3b Always define MACHINE_NONCONTIG. 1997-04-16 23:03:52 +00:00
thorpej
54cc37063b Nuke __BROKEN_INDIRECT_CONFIG 1997-04-16 23:03:16 +00:00
thorpej
49fd2f3af7 Use new va-ppc.h 1997-04-16 23:02:34 +00:00
thorpej
d3112d23d1 Garbage collect stuff now hidden my machine_vec. 1997-04-16 23:02:00 +00:00
thorpej
afd0c2db7e Yow, "what happened"? Anyhow, correct apparerent CVS botch, and fix
RCS ID.
1997-04-16 23:00:53 +00:00
thorpej
974b5a78b0 Minimal profiling definitions - profiling doens't yet work. 1997-04-16 22:58:46 +00:00
thorpej
2849b893e3 s/dummy/md_proc/ 1997-04-16 22:57:48 +00:00
thorpej
cd3712c5bf Update ipkdb's register handling, from Wolfgang Solfrank. 1997-04-16 22:57:06 +00:00
thorpej
805da2b95a Don't define two partition types for NetBSD - just use the standard 0xa5.
(Eww, DOS MBR)
1997-04-16 22:55:10 +00:00
thorpej
ab473e98d6 Definitions for machine_vec interface, from Wolfgang Solfrank. 1997-04-16 22:54:21 +00:00
thorpej
2895975dfc Update for Elf. 1997-04-16 22:52:50 +00:00
thorpej
88e2d78a5c Update to varargs/stdarg implementation; conform to the SVR4 calling
convention.
1997-04-16 22:51:22 +00:00
thorpej
273398acfa Machine-type tags used to communicate the type of system we're running
on to the kernel.  The boot program passes a boot args string plus
additional information like so:

	/pci/scsi@3/disk@0,0:1/netbsd -s<NUL><esym><tag>

The post-<NUL> values are:

	<esym>  end of the kernel symbol table (32-bits)

	<tag>   machine type tag (32-bits)
1997-04-16 21:12:29 +00:00
thorpej
ae9514e076 Definitions for IEEE floating point for NetBSD/powerpc. 1997-04-16 21:07:11 +00:00
thorpej
36a0d58408 Machine-dependent definitions for Elf on NetBSD/powerpc. 1997-04-16 21:06:11 +00:00
fvdl
115b6d92fa Define ALIGNED_POINTER 1997-02-24 23:16:53 +00:00
thorpej
1a0f586e08 Declare booted_device and booted_partition as "extern". 1997-01-31 02:04:14 +00:00
cgd
96acdadef7 First step inn removing config_scan() and the hacks that gave devices
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:

Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.
1996-12-05 00:13:47 +00:00
jtc
9da5f60715 PROF -> GPROF 1996-11-30 02:48:57 +00:00
jtc
16b48272c4 Define _BSD_CLOCKID_T_ and _BSD_TIMER_T_ 1996-11-15 22:38:45 +00:00
ws
31bdb14ed5 Rename recently checked in KGDB to IPKDB to resolve conflicts with older KGDB 1996-10-16 19:32:08 +00:00
christos
30efd6881a use in_addr_t and in_port_t 1996-10-13 03:16:41 +00:00
cgd
472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
ws
f828028e92 Add some files that CVS missed somehow
These are empty for now, but are needed by MI code
1996-10-01 16:13:50 +00:00
ws
5804d3f648 PowerPC port 1996-09-30 16:34:14 +00:00