Commit Graph

1035 Commits

Author SHA1 Message Date
eeh de1ba9c829 Grab real locks from the sparc port. I suppose we could use casa and casx
instead of ldstub, but since we aren't doing n-way locking it makes little
difference.  N.B. Need to decide what to do with sparc64/sparc64/asm.h which
has name conflicts with sparc64/include/asm.h.  So far most of
sparc64/sparc64/asm.h has been moved to ctlreg.h.
1999-05-30 18:57:27 +00:00
eeh dafdd170d7 Handle little-endian mapin requests. 1999-05-30 18:52:51 +00:00
mrg 01849b81ca allow the kernel to link with no arp (ether) devices 1999-05-30 07:36:28 +00:00
mrg 1b384c6911 clone intr.h from the SPARC. 1999-05-30 02:37:10 +00:00
thorpej beb8d06638 Generally update the comment above vunmapbuf(). 1999-05-26 22:19:33 +00:00
thorpej a2d06a4721 Generally update the comment above the vmapbuf() implementations. 1999-05-26 22:07:36 +00:00
thorpej 2580d306ab Change the vm_map's "entries_pageable" member to a r/o flags member, which
has PAGEABLE and INTRSAFE flags.  PAGEABLE now really means "pageable",
not "allocate vm_map_entry's from non-static pool", so update all map
creations to reflect that.  INTRSAFE maps are maps that are used in
interrupt context (e.g. kmem_map, mb_map), and thus use the static
map entry pool (XXX as does kernel_map, for now).  This will eventually
change now these maps are locked, as well.
1999-05-26 19:16:28 +00:00
thorpej 5832084eaf bus_dmamem_map() maps DMA safe memory, which is usually one or more
managed pages, into KVA space.  Since the pages are managed, we should
use pmap_enter(), not pmap_kenter_pa().

Also, when entering the mappings, enter with an access_type of
VM_PROT_READ | VM_PROT_WRITE.  We do this for a couple of reasons:

	(1) On systems that have H/W mod/ref attributes, the hardware
	    may not be able to track mod/ref done by a bus master.

	(2) On systems that have to do mod/ref emulation, this prevents
	    a mod/ref page fault from potentially happening while in an
	    interrupt context, which can be problematic.

This latter change is fairly important if we ever want to be able to
transfer DMA-safe memory pages to anonymous memory objects; we will need
to know that the pages are modified, or else data could be lost!

Note that while the pages are unowned (i.e. "just DMA-safe memory pages"),
they won't consume any swap resources, as the mappings are wired, and
the pages aren't on the active or inactive queues.
1999-05-25 23:14:03 +00:00
mrg 1bd01d4677 pull struct strbuf + defines into iommureg.h. properly merge previous commit. 1999-05-24 00:25:31 +00:00
ad 080560c8c6 - Setting initial position of cursor is up to caller.
- Set cursor position properly for SPARC. From Juergen Hannken-Illjes.
1999-05-23 17:59:39 +00:00
mrg 09619f1942 KNF nit. 1999-05-23 11:41:39 +00:00
mrg b2934b386d UVM is not an option these days. 1999-05-23 11:08:01 +00:00
mrg ae1a84a61f place iommu definitions in iommureg.h 1999-05-23 07:24:02 +00:00
eeh 193cc31772 Separate out the generic console handling from zs.c 1999-05-23 02:46:35 +00:00
eeh 92ad9c4080 Start putting in hooks for non-zs console devices. 1999-05-23 02:45:19 +00:00
eeh f1066c97ad If the zs has not yet attached use the PROM for console input. 1999-05-22 20:34:56 +00:00
eeh 60b89ebf96 Well, looks like the MI allocsys() broke the dvmamap, so instead of using a
single map move it to the bus controller driver so each bus can handle its own
IOMMU without conflicts.
1999-05-22 20:33:55 +00:00
eeh bb0f8ef559 Fix OF_stdin() to return "stdin" not "stdout" so we really can get console input. 1999-05-22 20:30:54 +00:00
eeh 35d96171e7 Fix bus_type_t properly and enable ASI accesses for bus_space_{read,write}*() 1999-05-22 20:28:22 +00:00
eeh 56b080bed6 Fixup argument confusion to __asm() statements. long long is two registers
wide in 32-bit mode.  Doh!.
1999-05-22 20:25:49 +00:00
lukem e4a87aa1a9 * convert to using MI allocsys(). most ports were using an MD allocsys(),
although a couple still used the old pre-4.4-lite (?) mechanism.
* use format_bytes() to format the various printf()s that print out memory sizes
1999-05-20 08:21:42 +00:00
ad a4f0570f7d SPARC console is black on white, and is centered by default. 1999-05-19 21:05:59 +00:00
ad 02bc362e3e Add arg to rcons_init() that when set causes screen to be cleared. 1999-05-19 20:34:19 +00:00
ad 218af6a342 Insert missing code that defines screen metrics for rcons. This fixes the
more blatant rcons brokenness (ie no panics).
1999-05-19 19:59:04 +00:00
ad 3d5a1b1eea Sync with last two changes made to sys/arch/sparc/dev/fb.c (don't clear
screen, typo).
1999-05-18 21:38:07 +00:00
ad 20be6a2a2a Fix typo on my behalf. From Juergen Hannken-Illjes. 1999-05-16 21:19:33 +00:00
ad 3b602e5afa Panic if rasops_init() fails us (should never be the case). 1999-05-15 13:04:03 +00:00
ad 6834085f8b Make sure rasops_info descriptor is zeroed out before initializing. 1999-05-15 12:52:22 +00:00
mrg 95e0190e23 split the sun ms/kbd drivers into frontend/backend parts at the serial
interface border, so that other serial interfaces can be attached to the
ms/kbd.  zero functional changes and mostly involves moving code around
a bit.  tested on the SS2.

this is necessary to attach the PCI ultrasparc keyboard/mouse drivers.
1999-05-14 06:42:02 +00:00
thorpej c10a926030 Allow the caller to specify a stack for the child process. If NULL,
the child inherits the stack pointer from the parent (traditional
behavior).  Like the signal stack, the stack area is secified as
a low address and a size; machine-dependent code accounts for stack
direction.

This is required for clone(2).
1999-05-13 21:58:32 +00:00
eeh b4b570608d Add some more 32-bit emulation support. 1999-05-12 01:11:54 +00:00
eeh 564db48540 Don't clobber any input regs in __asm statements. 1999-05-11 05:06:17 +00:00
eeh e5dc5cec71 Fixup non-DEBUG kernels. 1999-05-09 19:24:19 +00:00
eeh ae3fd5e972 I don't expect to ever have the need to finish the fcode boot code, so remove it. 1999-05-09 19:15:08 +00:00
eeh 914547e475 Move origin to 8MB; it seems that 16MB has problems at times. 1999-05-09 19:14:15 +00:00
eeh adabbf4f0f Enhance the code that tries to locate a kernel to search for other possibilities. 1999-05-09 18:32:14 +00:00
eeh 197ee16c7a Move the origin to 1000000 to reduce the likelyhood of conflicts with other
bootloaders/kernels.
1999-05-09 18:31:21 +00:00
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
mycroft 62ea009b0e Update for signal handling changes. 1998-09-11 13:31:39 +00:00
eeh 526dbbab7e Add labels for the compat_sparc32 signal trampoline and break -- er -- fix
suword and fuword.
1998-09-11 00:16:59 +00:00
eeh 6736de02e8 A (slightly modified) version of tv's fix for va_args for kern_printf. 1998-09-11 00:12:41 +00:00
eeh f3ca996011 Add support for 64-bit types if _LP64 is defined. 1998-09-11 00:05:57 +00:00
eeh cdeacb83c2 Don't use fuword()/suword() -- can't count on their size. 1998-09-11 00:04:16 +00:00
thorpej 70e641047c In cpu_coredump(), use MID_MACHINE rather than MID_* (whatever it expands
to).
1998-09-09 11:17:24 +00:00
thorpej 2f9d1a8c8c Use MID_MACHINE rather than MID_SPARC in cpu_coredump(), and add a comment
about dumping a SPARC32 core file if we're using emul_sparc32.
1998-09-09 11:06:08 +00:00
thorpej f7a4380174 If _LP64, set MID_MACHINE to MID_SPARC64, else MID_SPARC. This allows us
to uniquely identify ILP32 vs. LP64 core files, and prevents an LP64 kernel
from incorrectly choosing emul_netbsd when it should choose emul_sparc32.
1998-09-09 11:01:38 +00:00
eeh 2a6ae85fc3 Change to MACHINE_ARCH=sparc64 for LP64 machines. 1998-09-09 02:56:38 +00:00
eeh d2570e248c Don't use %tick for microtime on 32-bit kernels -- breaks gettimeofday. 1998-09-09 02:52:54 +00:00
eeh e81ed2237d Fix problems in global pagewalks. 1998-09-09 02:49:56 +00:00
eeh 9487c4be35 Make `machine phys' increment its address. 1998-09-09 02:48:15 +00:00
thorpej 8abe0d6b1c Adjust for the new "reaper" kernel thread: do not free the vmspace and
u-area in machine-dependent code.  Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
1998-09-09 00:07:48 +00:00
eeh b5e87ba833 Misc. cleanup. 1998-09-07 23:59:07 +00:00
eeh 4a42b68e25 Fixup for 32-bit and 64-bit syscalls. 1998-09-07 23:49:21 +00:00
eeh caff762f80 Fix data corruption problem caused by broken debug code. 1998-09-07 23:48:23 +00:00
eeh f162a39307 Make register32_t unsigned so we don't have sign extension problems. 1998-09-07 23:46:26 +00:00
eeh 064281122e Add new 64-bit trap vectors. 1998-09-07 20:02:32 +00:00
eeh 8d72d0dc0a Fix problems copying in extended syscall arguments. 1998-09-07 18:23:54 +00:00
eeh aecf435d40 Add new 64-bit specific traps and 64-bit Solaris syscall. 1998-09-07 01:39:52 +00:00
eeh edc4ed9846 32-bit fixup. 1998-09-06 21:53:41 +00:00
eeh 2db40814db May as well check in my 64-bit kernel config file for the moment. 1998-09-06 04:43:47 +00:00
eeh ce1a384fb1 Disable some debug stuff. 1998-09-06 04:42:08 +00:00
eeh a112a2a4cc It slices. It dices. It does everything except exec a sparc32_compat init. 1998-09-05 23:57:24 +00:00
pk 315ac1f6f7 These are replaced by drivers in <sys/dev/sbus>. 1998-09-05 17:46:33 +00:00
pk 5b005d9e2a Use auto-generated `dev_name2blk[]'. 1998-09-05 17:43:18 +00:00
pk 989caecc31 Define a few major devices.
Remove `dma' and `esp' definitions.
1998-09-05 17:42:28 +00:00
pk 037ab5af1a #include <sys/dev/sbus/sbusvar.h> 1998-09-05 16:52:02 +00:00
pk c20e88b71e #include <dev/sbus/sbusvar.h> 1998-09-05 16:50:37 +00:00
pk 2a85575583 Most of this now comes from <sys/dev/sbus/sbusvar.h> 1998-09-05 16:44:39 +00:00
pk 181a8253a0 Nuke temporary `getpropA()'. 1998-09-05 16:23:08 +00:00
pk eebaae2ec0 Remove unused files. 1998-09-05 16:06:23 +00:00
pk b8fbf12db9 Remove unused devices. 1998-09-05 16:01:11 +00:00
pk 5ca09ab5b1 Remove unused files. 1998-09-05 16:00:42 +00:00
pk b39d7e33be Assign my copyrights to TNF. 1998-09-05 15:42:41 +00:00
christos 50909bd6d9 Assign copyright to TNF. 1998-09-05 15:28:08 +00:00
mrg 06ea852ae8 take out UVM_PAGE_TRKOWN and comment UVMHIST 1998-09-02 10:27:27 +00:00
eeh cf9a8a5a53 Periodic update: now starts probing devices. 1998-09-02 05:51:35 +00:00
eeh 26d2d906c7 Some more 64-bit cleanup. Now everything compiles. 1998-08-30 15:32:16 +00:00
eeh acbd410040 Some more 64-bit ification and I think I finally fixed the vref() panic. 1998-08-30 02:12:02 +00:00
eeh d581aadc3e Some more 64-bit-ification. 1998-08-29 18:16:56 +00:00
mrg 713a7dc9c3 oops, remove old isp attachment here.. 1998-08-27 11:47:12 +00:00
mrg 396330e186 remove sparc64 "options BUS_DMA" -- it is now standard 1998-08-27 11:43:14 +00:00
mrg bd85d62257 move isp sbus attachment to dev/sbus and support it on the sparc64 1998-08-27 11:40:06 +00:00
eeh a465fdedc6 Add 64-bit pmap support:
Moved from a two level 512/1024 entry setup mapping 32 (9/10/13) bits
respectively to a three level 1024/1024/1024 entry setup mapping 43
(10/10/10/13) bits.  In 32-bit mode we waste about 1/12 pages mapping the high
11 bits.  We also only manage 43 of the possible 44 bits of virtual address
space, wasting half of it.  Oh well, maybe we'll do better next revision.
1998-08-27 06:23:31 +00:00
mrg a40fb261e6 deal with no DDB 1998-08-26 12:41:47 +00:00
mrg 446bcd99d6 panicstack: is needed outside of DEBUG. use _C_LABEL, and printf not db_printf (incase no ddb!) 1998-08-26 12:37:35 +00:00
mrg 8912df90bf fix missed sparc -> sparc64 1998-08-26 10:36:42 +00:00
mrg e791891d53 - use UVM by default.
- clean up the Makefile a bit to be less solaris-centric :)
- add support for compat_sparc32 (32bit compat module for NetBSD/sparc).  this
  isn't yet fully tested but it mostly written and compiles if not totally
  links yet.
1998-08-26 10:31:36 +00:00
mrg 8ea67882ab make this actually work 1998-08-26 09:09:31 +00:00
mrg be25ea2fb5 put pmapdebug usage inside #ifdef DEBUG 1998-08-26 07:55:10 +00:00
eeh d395d34886 Work on 32-bit cleanup. 1998-08-23 15:52:43 +00:00
eeh 41fb08c335 Added pv_syncflags() (unused) and debug stuff. 1998-08-23 15:51:23 +00:00
eeh a579357e66 Remove dvma_mapin() and other cruft. 1998-08-23 15:49:02 +00:00
eeh 5e1f92b621 64-bit clean cleanup of ofwboot.elf. 1998-08-23 02:48:28 +00:00
eeh edab5330c3 Fix typo in previous fix. 1998-08-22 22:45:19 +00:00
eeh 9f5435229a 64-bit-ify this. Depend on _lp64. 1998-08-22 22:16:01 +00:00
eeh 9ec98c99ae Added elf64 support (I hope). 1998-08-16 23:30:00 +00:00
mycroft 62b1bf3e2e Assign my copyrights to TNF. 1998-08-15 10:51:16 +00:00
mycroft 6dc903202f Assign my copyrights to TNF. 1998-08-15 10:10:47 +00:00
mycroft 129cbf95ee Minor edit. 1998-08-15 05:16:41 +00:00
mycroft b2827b9d36 Assign copyright to TNF. 1998-08-15 04:16:55 +00:00
eeh 239bc62b37 Add a makefile. 1998-08-15 03:57:58 +00:00
mycroft 6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +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
ross 22554e01a9 Following discussions with eeh and mrg, change most of these types so
that they should make an ILP32 setup with an ILP32 compiler and an LP64
setup if run through an LP64 compiler. None of the data sizes actually
change right now, and any type errors that show up would have to be fixed
eventually anyway.
1998-07-31 15:30:40 +00:00
mycroft a24dbc8065 (Always) (practice) (safe) (macro expansion). 1998-07-31 15:07:41 +00:00
mrg 7712d62ed7 allow ${SIZE} to be set from the environment, also allow using genassym.sh (both for cross compiling). 1998-07-30 13:34:09 +00:00
mrg 813b2f15cf allow ELFSIZE to be pre-defined 1998-07-30 00:27:04 +00:00
thorpej 3ff8e6493a Don't cast the null residual pointer passed to vn_rdwr(). 1998-07-28 18:34:52 +00:00
eeh 5ed2ac8a95 Apparently we need to specify both slot and offset for all SBUS devices.
This is really annoying....
1998-07-28 04:48:04 +00:00
eeh fbb376b4ee Fixup problems caused by sys/dev/sbus addition. 1998-07-28 04:46:48 +00:00
eeh 1053f23abf That last change to reduce warnings wasn't quite right. 1998-07-28 04:44:52 +00:00
pk 2e6ea67528 Use <dev/sbus/files.sbus> 1998-07-27 19:20:32 +00:00
mycroft da2e61d160 Delint. 1998-07-27 13:55:32 +00:00
mrg db03bbe99b this has moved (and was never used here anyway) 1998-07-27 06:09:02 +00:00
mrg f0065b1a61 don't provide a static splx prototype if SPLDEBUG. avoids warnings... 1998-07-27 06:05:55 +00:00
mrg b8b9e0bd1e move to sys/dev/sbus for lebuffer driver (old path never existed anyway) 1998-07-27 05:52:21 +00:00
drochner 49bb9d8214 adapt to LANCE driver split 1998-07-21 17:36:01 +00:00
eeh 97081b51be Make this work for a change. 1998-07-17 02:33:13 +00:00
thorpej d681d158c7 Remove the raw HYPERchannel kludge. 1998-07-15 17:45:52 +00:00
thorpej d47ea67c1f Define one page free list, and put all pages on it. 1998-07-08 04:43:18 +00:00
eeh d94474ccc9 General update:
Added genassym.cf
	Removed lderr which should never have gotten in
	Removed lots of dead code from locore.s
	Added some softint stuff to intr.c
	Added support for halt -p
	esp and le both use bus_dmamap_*() functions now
		instead of kdvma_mapin()
	groundwork for PCI (but we still have no drivers for
		any sun4u PCI devices)
1998-07-07 03:05:02 +00:00
jonathan b37021c1a1 defopt NATM. 1998-07-05 22:48:05 +00:00
jonathan 011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan 5c0c5dd0b4 defopt ISO TPIP. 1998-07-05 04:37:35 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
lukem bd8d501f7e remove options FIFO; it's now the default 1998-06-26 01:53:43 +00:00
thorpej 816e12eac2 defopt COMPAT_SVR4 1998-06-26 00:07:06 +00:00
thorpej 8aee7782f5 defopt COMPAT_SUNOS 1998-06-25 23:40:33 +00:00
thorpej 971b8956ef defopt KTRACE 1998-06-25 21:18:11 +00:00
kleink 4982314902 Merge in recent changes:
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-20 16:52:53 +00:00
mrg 873ca5c7b9 merge comment fix. 1998-06-20 12:35:08 +00:00
mrg 94022870c4 pull in opt_gateway.h for options GATEWAY 1998-06-20 12:27:21 +00:00
mrg ca23582a6b moved <machine/sun_disklabel.h> to <dev/sun/disklabel.h> 1998-06-20 05:58:05 +00:00
eeh 01e2e698b6 Import of sparc64. 1998-06-20 04:58:50 +00:00