Commit Graph

348 Commits

Author SHA1 Message Date
drochner fe310dd299 include <lib/libkern/libkern.h> for intoa()/inet_ntoa() 1999-05-07 16:19:27 +00:00
christos 361f7917c8 clean up old GCC.1 stuff; move common definitions to the top. 1999-05-04 13:36:44 +00:00
christos b70c3eb0ca Define __extension__ if __GNUC__ < 2
Define __builtin_*() for lint
1999-05-03 16:21:28 +00:00
christos 0db2ca03ae Add sunos_sigcode (32 bit only) 1999-04-29 16:40:41 +00:00
thorpej b8073b401b Garbage-collect the VM_MBUF_SIZE constant. Instead, use the size
(nmbclusters * mclbytes), so that the right amount of KVA space is
allocated if those variables are patched.
1999-04-26 22:46:44 +00:00
ad 613a381d71 Update configuration to match `rasops' fixes and config glue. 1999-04-26 04:25:38 +00:00
eeh 3f944123d6 Fix uninitialized variable bug in pmap_enter(). 1999-04-25 17:23:04 +00:00
eeh 962ed777c3 Garbage collect some old stuff. 1999-04-25 16:18:46 +00:00
eeh e921bb961d Defer final console attach to zs_attach(). 1999-04-25 16:16:31 +00:00
eeh df102fbcb5 Deprecate `findzs()' and try to map in the zs registers if they're not mapped
by the prom.
1999-04-24 21:08:12 +00:00
kleink ea8f9b570f Inclusions are already relative to the root of the kernel source tree, no need
to traverse the path all the way up again.
1999-04-17 21:26:59 +00:00
ad 33df642800 Leave font selection to 'rasops' until 'rasops1' has been completed and can
handle non {8,16} pixel wide fonts.
1999-04-13 19:02:38 +00:00
ad d959cff2ca Fonts for rcons are now handled in sys/dev/wsfont. 1999-04-13 18:59:15 +00:00
ad 5140c302ce Bring sparc/sparc64 fb code and kernel configuration into line with
rcons changes.
1999-04-13 18:45:40 +00:00
pk b13e5d1469 Quote "AS IS" as in the majority of Carnegy Mellon notices. 1999-04-12 20:38:17 +00:00
chs f455dd6596 add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.
1999-04-11 04:04:04 +00:00
pk c40eb1cd97 Fix a pasto in copyright text which has been procreating like rabbits.. 1999-04-06 20:09:18 +00:00
thorpej 967b8c433c Don't call configure() from cpu_startup(). 1999-04-01 00:17:45 +00:00
eeh 468dc3bd2b include compat_sparc32.h->compat_netbsd32.h 1999-03-30 02:12:37 +00:00
eeh 6492e81ae6 Fix fault handling code to correctly report access_type and fault_type
and get rid of pmap_enter_phys().
1999-03-28 19:01:02 +00:00
eeh 134ef85615 Fix ref counting. 1999-03-28 16:01:19 +00:00
eeh 692ac0b644 We don't have a default binary format: EXEC_AOUT is used for NetBSD/sparc pre 1.4,
EXEC_ELF64 is used for NetBSD/sparc64, and EXEC_ELF32 is used for NetBSD/sparc_elf.

We really need a way to turn these on and off depending on whether we're building
a 32-bit or 64-bit kernel...
1999-03-27 17:58:20 +00:00
wrstuden 2adccc50fa Add pps support. Only enable pps if CLOCAL & !MDMBUF. 1999-03-27 01:21:36 +00:00
mycroft 12d512bbb7 Oops; vm_offset_t -> vaddr_t. 1999-03-27 00:30:06 +00:00
mycroft 9c6b797796 Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
  because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
  avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot.  Also, DO NOT use
  pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
  access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
  access_type = 0.  This should probably be revisited.
1999-03-26 23:41:25 +00:00
eeh 69d1f9d0d3 COMPAT_SPARC32 -> COMPAT_NETBSD32 1999-03-26 04:29:20 +00:00
mrg 54ab2e1e54 clean and up make compile 1999-03-25 17:49:43 +00:00
mrg dc011bcec0 move sparc32 MD bits here. 1999-03-25 16:26:19 +00:00
mrg 7b93dd1117 remove opt_uvm.h 1999-03-25 00:41:46 +00:00
mrg ca5f9685bb clean up kernel/config files files for machVM lossage. 1999-03-24 06:06:09 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
drochner 76fa1751fe Add a macro to check for sufficient pointer alignment in bus.h context,
"BUS_SPACE_ALIGNED_POINTER()".
Equal to the param.h "ALIGNED_POINTER()" normally, but obeys additional
requirements of the bus_space_xxx_n() macros. (BUS_SPACE_DEBUG)
1999-03-23 21:29:03 +00:00
eeh 2343b503e6 Need to set up the pointers properly for partial FPU register stores. 1999-03-22 06:47:01 +00:00
eeh 7fba1d4a21 Add FS_SIZE. 1999-03-22 06:45:15 +00:00
eeh f0503a65c8 Flush D$ on bypass accesses. 1999-03-22 05:35:39 +00:00
thorpej a77ccfe460 Garbage-collect. 1999-03-20 01:40:25 +00:00
chs ab7269f62a if uvm_fault() fails with KERN_RESOURCE_SHORTAGE, send a SIGKILL
and print a message about it.  this will be used to recover from
out-of-swap conditions.
1999-03-18 04:56:01 +00:00
eeh 4d538d5ab9 Fix problem w/FPU use in the kernel. 1999-03-18 03:25:55 +00:00
eeh 3c8b9d7307 Some devices don't have a `device-type' property we can use to allocate
an IPL.  Check for those by name.  Give the rest a default IPL of 2.
(Added `SUNW,CS4231' to the list.)
1999-03-18 03:23:53 +00:00
mrg b0eb09de11 remove lderr in "make clean" 1999-03-15 01:15:06 +00:00
eeh 6158292dbb PMAP_PGARG doesn't do the right thing for us. 1999-03-10 01:54:16 +00:00
eeh 89c4b1c360 Let's try to make prom_cnget() work. 1999-02-28 00:29:24 +00:00
eeh b6bf56be36 Use block load/store in pmap_zero_page()/pmap_copy_page(). 1999-02-28 00:26:46 +00:00
eeh 1f9186e111 Teach it some VIS instructions. 1999-02-28 00:23:58 +00:00
eeh 4ffa956fbb Fix up alignment issues dumping physical memory. 1999-02-28 00:22:32 +00:00
scottr d32ed292af defopt BUFCACHE and BUFPAGES. 1999-02-27 06:39:34 +00:00
mrg e21cbb5e8b KNF nit. 1999-02-17 03:54:46 +00:00
eeh c9956cf132 Let's test out vectored interrupts. 1999-02-17 03:23:28 +00:00
hubertf 56f2d188fc RCS ID police 1999-02-15 04:54:34 +00:00
lukem dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
mrg aea84d23cc add a proto for print_dtbl 1999-02-12 05:58:27 +00:00
mrg 43542ba2e5 include dev/mii/files.mii 1999-02-12 05:57:21 +00:00
mycroft 2a304686e6 Minor cleanup.
Make the initializer for BAUDLO depend on PCLK directly; it was incorrect on
some ports where PCLK is not 4.9152MHz.
XXX Is the default value actually used?
1999-02-11 15:28:03 +00:00
mrg 26c0549e41 fix a comment pasto. 1999-02-11 13:18:35 +00:00
kleink f69591d12d Use of casts as lvalues is a GNU C extension; rearrange slightly. 1999-02-10 17:03:26 +00:00
bouyer f6f9f8a965 Change DIOCEJECT to do what's needed to eject a device before the eject
command (unlock for sd and cd) if no other partitions are open, return
EBUSY otherwise. DIOCEJECT will have the old semantic if its argument is not
0. The old ioctl has been renamed to ODIOCEJECT for binary compatibility.
1999-02-08 16:33:16 +00:00
jonathan c9d036d796 defopt MEMORY_DISK_{HOOKS,SERVER,IS_ROOT}. 1999-02-07 09:34:58 +00:00
mycroft be1af660c0 Don't set DCD_IE in the frontends. KGDB doesn't even use DCD, and the tty
frontends get it from zsparam() anyway.
1999-02-03 20:25:05 +00:00
drochner 0e91ebb904 make the last fix work as intended 1999-01-31 11:15:43 +00:00
mrg 7006310cbd retire _LP64; use compiler provided __arch64__, but still defined _LP64 where we used to anyway. 1999-01-31 09:21:18 +00:00
eeh 8ee118c70d Fix problems with bus_space*() macros (thanks M.Drochner). 1999-01-30 17:02:32 +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
eeh aedd885e3f Need a config file for a 64-bit generic kernel 1999-01-23 19:13:16 +00:00
eeh e66b220ec4 Sync 32-bit and 64-bit kernel config files. 1999-01-23 19:12:19 +00:00
eeh 5739b26892 Need to disable 64-bit only options in 32-bit GENERIC. 1999-01-23 19:09:00 +00:00
eeh d38fb5945e Synchronize config files. 1999-01-23 19:06:59 +00:00
christos 6d70af37f7 move prototypes to mi locations and add the xrs gunk. 1999-01-21 23:06:25 +00:00
christos 6c559acb65 Move machine independent stuff out of here. 1999-01-21 23:03:10 +00:00
mrg 1ead59c1eb enable a few more network and compat options, few more devices, both pseudo and real, that hvae appeared in the tree. 1999-01-20 17:24:36 +00:00
thorpej 2fb041ce0a No need for <sys/mtio.h> 1999-01-19 18:18:41 +00:00
eeh 2dd29df04b Let's try to add network support. 1999-01-17 20:07:52 +00:00
chuck 90ddaed9b5 MNN is no longer optional, remove dead code 1999-01-16 20:43:21 +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
eeh 39553be254 Finally fixed 64-bit signal trampoline. 1999-01-11 06:43:51 +00:00
eeh 1609884456 Handle the symbol table properly in a 32-bit kernel that was booted from a
64-bit bootloader.
1999-01-10 23:35:08 +00:00
eeh 9c06e4a454 Need to put IGN in SBUS slot interrupt vectors as well. (From Kapil Chowksey) 1999-01-10 23:32:57 +00:00
eeh b5932bbc0a Support little-endian bus mappings. 1999-01-10 19:37:47 +00:00
mrg 7054d69a2a KNF nits i have sat on for too long. 1999-01-10 15:01:32 +00:00
mrg 17823d385b KNF nits i have sat on for too long. 1999-01-10 14:41:45 +00:00
eeh b0d71d3042 Properly check address returned by OBP for errors in prom_map_msgbuf(). 1999-01-09 23:33:29 +00:00
eeh 42c40a2cd6 More signal fixup. 1999-01-09 23:31:27 +00:00
eeh 09a4a08b77 New style bootpath propagation to match the sparc port. 1999-01-09 23:23:47 +00:00
eeh d5ca0ef2e6 Don't use `long' instead of `int64_t' since the latter may not be in scope. 1999-01-09 23:15:39 +00:00
eeh f9a429d960 Establish a single set of definitions for signal debugging so we don't have
a different one for every emulation.
1999-01-09 23:12:36 +00:00
thorpej e598335d1c Garbage-collect `mbutl'. 1999-01-09 22:10:12 +00:00
augustss fc5f9ee81d Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C. 1999-01-08 19:26:12 +00:00
eeh aae0096c7c More signal handling fixups. 1999-01-03 01:08:51 +00:00
mrg 12d0e6e8f7 move sparc{,64} installboot.8 back to src/share, to avoid splitting sources for users who dont get everything. 1998-12-22 02:34:09 +00:00
drochner 52c16cf83a get "opt_compat_svr4.h" out of <sys/conf.h> 1998-12-18 16:55:39 +00:00
drochner 0f6572f2b1 COMPAT_xxx option review: add missing opt_compat_netbsd.h 1998-12-18 15:49:40 +00:00
kleink 342b5e5134 Also need to initialize the queue length of a newly allocated fpstate. 1998-12-14 16:18:46 +00:00
mrg 30964865f6 change -d (debug) to -n (nowrite) as they have the same effective meaning, but -n is what sparc uses. use partition c as that will generally be what the user wants. 1998-12-11 12:15:44 +00:00
mrg a73ed687d6 add an installboot man page, based on the old sparc on but with large bits ripped out 1998-12-11 12:14:53 +00:00
mrg 29a68943af note installboot.8 is built in share. 1998-12-11 12:14:22 +00:00
mrg 7a39c6352a - exec the command
- exit 0 if we don't run it
- look for the disk in /dev/${disk} /dev/${disk}a as well as ${disk}
- look for the bootblock in /usr/mdec.
- exit if we can't find either the bootblock or disk.
1998-12-11 11:46:54 +00:00
thorpej 7fa243e59e Pass the symbol table size, like a.out. 1998-12-04 20:22:36 +00:00
thorpej da572a137f Argh, fix the ANSI CPP version of the a.out WARN_REFERENCES(). 1998-12-02 21:16:46 +00:00
thorpej a6f7e0c05a Implement WARN_REFERENCES(). 1998-12-02 00:58:42 +00:00
mycroft abfe9cee7b Sync with 32-bit SPARC version. 1998-11-29 22:20:19 +00:00
eeh 7010132044 Calculate the size of the TSB correctly. 1998-11-27 20:02:57 +00:00
eeh ff27dd92da Improve page table printing. 1998-11-27 19:58:46 +00:00
mycroft 9a7fd5c1ac Sync kcopy() with 32-bit SPARC version. 1998-11-26 22:40:17 +00:00
hwr 59acb69be1 Add (commented out) 'gre' pseudo device line. Feedback is welcome.
Inspired by Klaus Klein.
1998-11-25 20:30:44 +00:00
mrg d4fb975471 bring a prom_printf prototype into scope. 1998-11-24 13:02:59 +00:00
mrg ed2db65750 add WARNS=0 for now. 1998-11-24 12:56:55 +00:00
mrg 7ad164b566 use rm -f. this makefile needs to be fixed.. 1998-11-24 12:56:40 +00:00
mrg 4e85f6d151 remove fixalign prototype, it is now elsewhere 1998-11-24 12:55:56 +00:00
mrg 0a61098abd remove some dead variables. 1998-11-24 12:55:25 +00:00
mrg 1458c370fc #if 0 pv_syncflags as it is not used. avoid comments in comments. 1998-11-24 12:55:06 +00:00
mrg 7fa9d2a08d move now unsed variable under #ifdef NOT_DEBUG 1998-11-24 12:53:27 +00:00
mrg 06dfd0f985 #if 0 an unused declaration 1998-11-24 12:51:19 +00:00
mrg 0bd7e232e2 do not start comments inside comments. 1998-11-24 12:50:56 +00:00
mrg 0a3c644dbc include db_interface.h, remove unused variable & add proto for db_uvmhistdump. 1998-11-24 12:50:27 +00:00
mrg b066708a2e add protos for switchtoctx, fixalign and emulinstr. XXX should all these be here? 1998-11-24 12:49:14 +00:00
mrg 5711320263 these are fpu_xitof & fpu_ftoxi in the code... 1998-11-24 12:48:14 +00:00
mrg 12f8528ba4 add a cast. 1998-11-24 12:47:24 +00:00
mrg 3660a1e953 make sure we do not write more than 7.5k of bootblock. 1998-11-24 00:03:19 +00:00
mrg 84826f1771 add installboot 1998-11-23 08:16:10 +00:00
mrg cd3e42513b add a sparc64 installboot script. just dd the bootblk to the right part of the disk. can be improved... 1998-11-23 08:15:11 +00:00
mrg fdbb273f39 fix some warnings, and some not DEBUG problems. 1998-11-22 23:56:49 +00:00
eeh 4cf9a921c9 Move allocsys() back to cpu_startup(). We're no longer allocating it from
the locked 4MB TLB entry, but it solves the problem where large memory machines
overflow the 4MB TLB entry.
1998-11-22 23:38:53 +00:00
eeh 3bb71e68c6 ofwboot.elf is now ofwboot. 1998-11-22 17:22:50 +00:00
eeh 2f274f97e5 Don't ask the firmware to find our partition because it doesn't understand
NetBSD disklabels and gets horribly confused.
1998-11-22 16:21:02 +00:00
mrg db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
oster cf5710c839 Added a (commented out) configuration line for the RAIDframe device driver. 1998-11-16 16:44:55 +00:00
eeh a178ed6add Fixup the last broken bits of the signal handling code. 1998-11-16 06:51:35 +00:00
oster c74d32c5fc Updating of bdev's and cdev's to support RAIDframe. 1998-11-13 04:47:03 +00:00
eeh 08af05f929 Fix 32-bit gcc scheduling problems. 1998-11-13 03:47:15 +00:00
thorpej cabecee13c Changes to support fork_kthread():
- cpu_set_kpc() now takes void *arg third argument, passed to the
  entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
  When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:43:49 +00:00
eeh f66c79c11e Turn off debugging. 1998-11-11 02:04:23 +00:00
eeh bef3f7ec18 FCode bootblock and friends. 1998-11-11 01:57:32 +00:00
tron b296275bb4 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:09:13 +00:00
drochner 2468738337 change handling of libkern:
-sys/lib/libkern builds as library per default (as it was documented all
 the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
 (for now; should depend on actual "option LKM" or -better- functions
 included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
 by libcompat, but not the other way
1998-10-15 18:37:13 +00:00
chuck 8bef431273 remove unused share map code from UVM:
- update calls to uvm_unmap_remove/uvm_unmap (mainonly boolean arg
        has been removed)
1998-10-11 23:20:59 +00:00
thorpej 908cdfe4e3 Add scsibus entry points to the cdevsw[]. 1998-10-10 02:00:49 +00:00
eeh b6fd7187e0 Fix more syscall32 and signal breakage. 1998-10-08 02:31:39 +00:00
thorpej d681cf055a configure() prototype is in <sys/device.h> 1998-10-06 20:50:15 +00:00
thorpej 0729240c88 Move the "XXX re-zero proc0 user area" to the end of configure(), before
interrupts are enabled.
1998-10-06 18:58:09 +00:00
eeh cd0dd24713 It seems taht 64-bit kernels need bigger stacks. 1998-10-06 05:18:55 +00:00
eeh d0d18d5a83 Fix PIC code initialization. 1998-10-06 05:16:34 +00:00
thorpej 5006dbf868 cpu_set_kpc() prototype is already in <sys/systm.h>. 1998-10-05 22:11:15 +00:00
eeh 1cc6223a9c More fixup in the signal area.
64-bit syscall cleanup.

Add emulation for some new FPU insns: conversion to 64-bit long int and
conditional moves.
1998-09-22 02:48:42 +00:00
thorpej 2eb8e8729b Make the signal code look a bit more like the 32-bit SPARC port's. 1998-09-17 04:52:17 +00:00
thorpej a7e5b3bcce For _LP64, sigcontext must contain longs! 1998-09-17 04:51:29 +00:00
thorpej 5e8f492923 SYS_sigreturn -> SYS___sigreturn14. 1998-09-17 04:41:06 +00:00
thorpej dcb541531a Minor cosmetic change. 1998-09-17 02:33:06 +00:00
eeh 52cbf86859 Looks like something else changed in signal land. 1998-09-13 16:45:43 +00:00
eeh 49af63b22b Fixup signal changes (hopefully). However SUN_COMPAT is likely broken by
this and I don't know how to fix it.

We can now exec a 64-bit init through a really ugly hack (don't ask.)
1998-09-13 16:02:47 +00:00
mycroft 06fb1b6d67 Fix pasto. 1998-09-13 12:24:18 +00:00
mycroft 4e4f120db9 Update these for signal handling changes.
XXX Not tested yet.
1998-09-13 12:13:49 +00:00