Commit Graph

2479 Commits

Author SHA1 Message Date
matt d8f4dbb171 fix a few mmap bugs. pretend to be a cg3 and implement a hack
to fack the Xsun server to believe that the p9100's framebuffer
is really a cg3's.  So if only colormaps worked, X would be able
to run.
1999-08-01 06:27:00 +00:00
matt 4b814be9cf Initial stab at a P9100 console FB driver for the Tadpole 3GX.
It supports RASTERCONSOLE only and the colormap support is
broken (the hardware doesn't seem to be doing what the tech.
docs. say it should be doing).  But it is usable as a console
(but with blue on white as the only color choice).  I figured
I'd check it in since it is somewhat usable and someone else
might figure what I screwed up in the color map support.
1999-08-01 00:23:48 +00:00
matt d4b9056054 Add preliminary support for the built-in modem on Tadpole 3GX/S
laptops.  There is currently something wrong with the interrupt
code but it does attach and sense a 16550a.  (anyways the built
in modem is only a 14.4Kb and you'd really want to use a PCMCIA
modem to get faster dialup rates).
1999-07-30 23:58:25 +00:00
matt 8c0f3c5a5f Add config file specificially for Tadpole 3GX/3GS laptops.
It save ~800KB over the standard GENERIC config file.
1999-07-30 23:55:43 +00:00
thorpej d7bf3732b0 The new rasops stuff is a LOT faster; turn on rasterconsole on the cgsix. 1999-07-30 18:11:38 +00:00
augustss a7cd454b1d It's time to be COMPAT_14. 1999-07-29 10:37:12 +00:00
drochner b513c9a6ad update comments for mi VME 1999-07-28 09:48:36 +00:00
drochner 6922e1976e adapt to mi VME attachment (sorry for being late) 1999-07-28 09:45:08 +00:00
drochner f6fddabf3f back out previous - there is really a "vmebus" attribute 1999-07-28 09:39:48 +00:00
christos 223cc34183 make the vme stuff compile again; I am not sure this is correct as I don't
have the hardware to test, but it has been broken for 3+ weeks now. Hi
Mr. Drochner!
1999-07-28 05:45:50 +00:00
thorpej 6ec1ededf1 Make a slight rearrangement in how <machine/lock.h> is included. 1999-07-27 23:45:13 +00:00
thorpej cc668e410f Define apporpriate an value for SIMPLELOCK_LOCKED, based on the
semantics of ldstub.
1999-07-27 22:22:33 +00:00
thorpej c1ee8f0a8c Prepend `cpu_' to the machine-dependent atomic locking primitivies. 1999-07-27 21:45:39 +00:00
cgd f886376518 be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.
1999-07-26 05:20:44 +00:00
christos 41cc9a0eb8 enable PPP_BSDCOMP, PPP_DEFLATE, PPP_FILTER, PFIL_HOOKS, IPFILTER_LOG
on the GENERIC kernels that had them commented out.
XXX: Please note, that not all the kernels have all the options defined!
1999-07-20 07:40:34 +00:00
christos 0c2a15c04a we don't need no-fpu; anyway this has been renamed in new version of egcs 1999-07-10 22:18:34 +00:00
thorpej 0945bf58b0 Add examples for including the kernel crypto bits from either crypto-us
or crypto-intl, commented out, with instructions to use only one, and
adjust the prefix as necessary.
1999-07-09 18:55:33 +00:00
mrg ecdad0ec33 clean up a bit after jason :)
- fix emitrules() like emitfiles() to deal with the prefix (otherwise it
  would attempt to find the file in the normal base for the NORMAL_C rule).
- add emitincludes() which adds include directives for each prefix to the
  $INCLUDES variable in the makefile.
- add %INCLUDES to each Makefile.arch to deal with the above.

this makes "prefix" actually work in a usable manner, and now i can move
on to fixing compiler warnings (errors) in the ESP code. :)
1999-07-09 09:52:55 +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
chs eb770c7b7c add "trace/t <pid>". 1999-07-04 06:45:26 +00:00
itojun 5effafcaa6 kernel configuration for IPv6/IPsec. should be in GENERIC in the future.
(source code will be committed soon)
1999-07-01 07:00:12 +00:00
drochner 33104934d9 update for new VME framework 1999-06-30 15:18:58 +00:00
pk 3c6560a597 More ugly code to force early configuration of the sun4 on-board timer. 1999-06-28 22:40:15 +00:00
pk 61f60a2fbe Allow SFILES to be empty; from Julian Coleman. 1999-06-28 21:03:23 +00:00
pk bd0ac6506c Prepare entry for `hme at sbus'; commented out until driver is finished. 1999-06-28 20:26:47 +00:00
pk 4fe4dae943 Ignore (but still generate a console warning) unhandled user-generated traps. 1999-06-28 15:51:26 +00:00
pk 7c5f595062 mmu_pagein() prototype: change address argument to `vaddr_t'. 1999-06-28 14:44:57 +00:00
pk 5814a13657 mmu_pagein: refuse kernel space addresses here. 1999-06-28 14:41:43 +00:00
itojun 427639cdce - Call ip6intr if INET6 is defined.
- remove "need-flag" for mac68k esp driver, as it is not used in anywhere
  and conflicts with IPsec ESP header.

This should be the only MD change in IPv6 support, except kernel config file.
Very sorry if you have any compilation problem with it (I believe it is okay).
If your favorite arch is not included in here, please add a
call to ip6intr() from softintr handle.
1999-06-28 08:20:40 +00:00
mrg 7683f14172 enable xbox and ppp 1999-06-26 18:47:15 +00:00
pk c118a70deb When overriding cache flush functions for specific cpu models, make
sure to update the correct function pointers in `cpuinfo'.
1999-06-24 20:22:12 +00:00
pk ccd6d1e4de Pull in `sparc/compat_13_machdep.c' for SunOS compatibility too. 1999-06-20 16:30:22 +00:00
thorpej 0288ffb53a pmap_change_wiring() -> pmap_unwire(). 1999-06-17 19:23:20 +00:00
thorpej f5a527bb4e Remove pmap_pageable(); no pmap implements it, and it is not really useful,
because pmap_enter()/pmap_change_wiring() (soon to be pmap_unwire())
communicate the information in greater detail.
1999-06-17 18:21:21 +00:00
pk f90f079222 Fix typo in previous. 1999-06-13 07:58:20 +00:00
pk fee9cd9c12 Initialize the heap (for alloc()) explicitly, since the `end' symbol
is not necessarily double-word aligned.
1999-06-12 12:49:24 +00:00
thorpej 2c35c7bd03 Only declare block major numbers for devices which can be the root device. 1999-06-07 20:31:27 +00:00
thorpej d76e7b8c6d Don't pass a nam2blk around at all; just have setroot() and friends reference
dev_name2blk[] directly.  Addresses PR #7622 (ITOH Yasufumi), although
in a different way.
1999-06-07 20:16:08 +00:00
mrg e6545647b8 update this to GENERIC rev. 1.84. 1999-06-06 13:06:38 +00:00
mrg 440ac638bc EXEC_ELF32 is now default. enable "rnd" 1999-06-06 13:00:03 +00:00
pk 3d9ae33cfb Add COMPAT_AOUT. 1999-06-06 09:23:38 +00:00
pk bea0725979 64-bit safety to help sharing compilation tools with sparc64. 1999-06-05 12:54:23 +00:00
christos beb12b13b9 Don't include rasops and wscons goo here; we get it already from fbvar.h 1999-06-02 23:24:00 +00:00
mycroft 7d5f7a34ce We need wsdisplayvar.h for this to compile now! 1999-06-02 12:11:39 +00:00
pk 0953844306 Casts to match `%d' in printf format. 1999-05-27 14:20:10 +00:00
pk 69b216aefe `xmit' & `recv' return `ssize_t' 1999-05-27 14:04:25 +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
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
thorpej d7ffa508b1 Provide an mdallocsys() that clips bufpages if necessary (on the Sun4c).
This will be (and needs to be) done before nbuf is computed.
1999-05-21 00:08:14 +00:00
thorpej 88c7cff619 Make this compile again. 1999-05-20 20:15:27 +00:00
pk fea10fb499 Operate Hypersparc cache in write-back mode again.
Remove `hypersparc under construction' message.
1999-05-20 10:06:39 +00:00
pk 1040b9e209 If TLB entries need to be flushed, make sure to do this after any necessary
cache flushes, since on VIPT machines the cache flush may induce a TLB load.
1999-05-20 10:03:12 +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
pk ae6d12926c Turn on the video timing which is not always done by the PROM (e.g. if we're
not the console).
1999-05-19 08:31:42 +00:00
ad 7efb86f6b8 Fix typo that broke rasops operation. 1999-05-18 21:36:21 +00:00
thorpej 0ff6aaf4c2 Don't clear the screen when we connect rasops; the SPARC doesn't connect
the rasops console until autoconfiguration, and it kinda sucks to have
the boot messages suddenly disappear from the screen.
1999-05-18 18:13:39 +00:00
ad 20be6a2a2a Fix typo on my behalf. From Juergen Hannken-Illjes. 1999-05-16 21:19:33 +00:00
pk 87d4c19ebf Remove cruft from `nmi_hard()' interrupt handler. 1999-05-16 16:56:35 +00:00
pk 1a2299d57c Temporary work-around in pmap_enter on 4/400 machines: pre-allocate
MMU region cookies. This keeps the machine from crashing when running
in user mode.
TODO: fix the bugs then kill or alter this work-around.
1999-05-16 16:48:59 +00:00
pk d379bda6a5 Well, what do you know.. the TLB context flush has been coded with the
wrong `type' field all these years. Fix this and add a TLB region flush
as well.  Also take care of a few inconsequential nits.
1999-05-16 16:37:45 +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
eeh ea28d54c9e Let NetBSD/sparc know about 64-bit formats even if it can't execute them. 1999-05-14 00:18:51 +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
mrg a59ced70bd pull in files.aout 1999-05-12 12:48:27 +00:00
drochner fe310dd299 include <lib/libkern/libkern.h> for intoa()/inet_ntoa() 1999-05-07 16:19:27 +00:00
pk 4cb2198a44 Declare `bootinfo' also if !DDB. 1999-05-05 15:32:33 +00:00
christos 22de25977b Argh, removed last ELF induced problem. We used to have syscall: in locore.s
and _C_LABEL(syscall) in trap.c. In ELF they are the same. Change the label
in locore.s to be _C_LABEL(_syscall).
While I am there, move the register save and restoral code used in the
*sigcode trampolines into two macros and use them instead of copying 100
lines of assembly each time.
Now everything ELF works.
1999-05-05 10:53:00 +00:00
christos 952f511570 Use -n for ELF. Using -N might work, but produces only one section.
No flags will not work, because it will produce a kernel loaded at 0xf0000000.
This is because the bfd ELF pagesize (in elf32-sparc.c) is 0x10000. Since
we need to load at 0xf0004000, we use -n.
1999-05-05 10:50:02 +00:00
christos caa41a7d21 Fix panic and panicstr to use _C_LABEL.
Statuc: ELF kernel loads symbols properly, hangs in syscall while running init.
1999-05-04 17:29:22 +00:00
christos 7d5c65239e clean up old GCC.1 stuff. 1999-05-04 13:36:10 +00:00
pk f499d38511 Gain one instruction.. 1999-05-03 20:56:11 +00:00
pk a554ffdde0 Better pad the artificial header to exactly 32 bytes. 1999-05-03 18:59:08 +00:00
christos f890155a87 Define __extension__ if __GNUC__ < 2
Define __builtin_* for lint.
1999-05-03 16:20:28 +00:00
christos 6207471740 remove unused msgbufaddr 1999-05-03 16:17:57 +00:00
christos 3c86ce132b s/\<0x4000\>/PROM_LOADADDR
remove unused cputypvallen, and _msgbufaddr
1999-05-03 16:17:08 +00:00
christos b0c181d290 move PROM_LOADADDR from promlib.h to param.h and remove its cast. 1999-05-03 16:14:02 +00:00
christos 6fc35c7fc8 Casts for PROM_LOADADDR which is not casted anymore. 1999-05-03 16:13:16 +00:00
pk bc1a121cfe Missing initialization of getbootfile() method for `old' monitors. 1999-05-03 07:32:50 +00:00
pk e3a15d4321 * Add missing label.
* Avoid harmful delay-slot instruction, if we did not get a `bootinfo' thing.
* Compute correct location of `esym' for all three methods of debug
  symbol loading we support.
1999-05-02 14:47:33 +00:00
christos 797c581bbc Add bootinfo.h 1999-05-02 13:50:17 +00:00
pk e4bc3af22c No need to disable MII devices in previous. 1999-05-01 14:18:35 +00:00
abs 93857fda32 Comment out nell and pcmcia children until audioamd panic resolved 1999-04-30 21:09:50 +00:00
christos 8ed58f33a5 Add -n for ELF, note weirdness in comment. 1999-04-30 13:31:52 +00:00
christos 35e47f06fa Load the header too. 1999-04-30 13:28:58 +00:00
christos 4bf3b7a9c1 Compile in support for ELF symbols. 1999-04-30 13:28:36 +00:00
christos 81248a0851 Add bootinfo struct to pass symtab arguments.
XXX: This does not work with ELF yet, but I don't understand why...
1999-04-30 09:29:40 +00:00
christos a042b8f9e4 Add bootinfo support for loading symbol tables. 1999-04-30 09:26:16 +00:00
christos cc96413a0c Revert previous bootinfo premature commit, and commit the sunos_sigcode
stuff instead.
1999-04-29 16:37:32 +00:00
christos 5f139d3cc9 Add sunos_sigcode and sunos_esigcode for COMPAT_SUNOS 1999-04-29 16:13:04 +00:00
fair 073021116e Add a 1 second delay to powerdown sequence to prevent the OpenBoot PROMs
from getting control and reporting a "powerdown failure", per PR#7487
1999-04-28 18:49:40 +00:00
christos b40179bdca MD version of loadfile.h 1999-04-28 15:26:21 +00:00
christos 017ae4d0c4 Support for installboot 1999-04-28 15:25:43 +00:00
christos 1c8494b7a2 Checkpoint of elf boot stuff:
- Use loadfile for both boot and installboot
- Fix problems with linking in bootxx
- Make installboot work with both a.out and ELF bootxx
- *WILL NOT BOOT YET ELF KERNELS* (a.out kernels work) I am working on it.
1999-04-28 15:22:25 +00:00
christos ccd32076df Add -DLIBSA_NO_CLOSE 1999-04-28 13:27:18 +00:00
christos ad64321aac Include <sys/systm.h> to get prototype for memset. 1999-04-28 13:20:55 +00:00
thorpej b1a4c46dab Fix a typo that prevented this from compiling. 1999-04-27 17:37:18 +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
pk 421994a39b In pmap_{zero,copy}_page4m() use setpgt4m() to setup temporary address
mappings.
1999-04-25 10:30:02 +00:00
pk 901a03b897 Protect extent(9) ops with splhigh(). 1999-04-20 20:15:48 +00:00
mrg a3b0c3845d fix some comments. 1999-04-18 10:54:23 +00:00
mrg 8b70f01b60 use LINKFLAGS=-X to avoid stripping out per-file debugging info (idea from chuck@netbsd.org) 1999-04-18 10:52:31 +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
pk 0a737db1c7 `oldmon' proms need `putstr()' too. 1999-04-16 08:55:37 +00:00
pk 87a17d4466 Initialize the VME bus tag. 1999-04-14 10:28:23 +00:00
pk ee5af6c31e Mask out 64-bit burst capability on sun4m's, since some models (SS20)
erroneously report this in their sbus properties.
1999-04-14 09:50:01 +00:00
pk 08e6e1fdc0 Fix TAB-jump lossage in previous. 1999-04-14 09:48:37 +00:00
pk 37653920ec - try to identify multi-processor machines only on sun4m.
- mainbus_attach: on sun4's do not fall through to sun4c/sun4m configuration.
1999-04-14 09:16:11 +00:00
pk 570630211c PROM likes to see CR-NL. 1999-04-14 09:12:46 +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 b16b8de052 Identify ourselves as a SCSI channel to the DMA chip. 1999-04-12 23:01:00 +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
mycroft 83cb600015 Enable rnd. 1999-03-31 14:29:33 +00:00
pk 65707bd131 * Pull in more uvm prototypes.
* Retrieve MID on all modules.
1999-03-31 14:09:09 +00:00
pk 1469e9af76 The MMU_3L option became SUN4_MMU3L long ago. 1999-03-30 19:41:30 +00:00
abs e9ea59935c Make this compile again after mycroft's pmap fixes. 1999-03-27 06:31:31 +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
pk 3eab58ceec UVM no longer an option. 1999-03-25 22:21:09 +00:00
pk 422c4dbb41 Put back <uvm/uvm.h> 1999-03-25 22:13:40 +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
thorpej a77ccfe460 Garbage-collect. 1999-03-20 01:40:25 +00:00
pk 1e0c7c3ed1 Fix various things that kept this bus front-end from functioning.. 1999-03-18 21:33:14 +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
chs bb8971afc3 for emul_sunos processes, don't change vmspace->vm_maxsaddr
for faults within a fudge factor of the end of the stack.
the sunos ld.so maps some zero-fill memory there and uses
it while loading shared libs.  ignoring these shenanigans
allows ps to report the correct stack usage for sunos programs.
1999-03-18 04:27:54 +00:00
pk 848e39dd70 Shouldn't call getpropint() on old proms: only get a CPU's `mid' if needed. 1999-03-17 23:21:38 +00:00
pk 9ae1ca2595 Got a VME probe result backwards. 1999-03-17 23:20:16 +00:00
sommerfe bc533621ed defopt MINIROOTSIZE 1999-03-17 18:59:21 +00:00
chs 8e61ed9705 in pmap_bootstrap4_4c(), remove any bogus mappings the PROM
left around in the mmu.
1999-03-16 03:45:36 +00:00
jonathan 69d2d27c1b Use bus_space tags and handles, embedded in MD hooks AM7930_{READ_WRITE}_REG
to handle MD delay and bus padding. Tested on sparc2 by David Brownlee.

Should use regmaps, but that breaks sparc pDMA assembly code.
1999-03-14 22:29:00 +00:00
perry d446fb449c exterminate ovbcopy. patches provided by Erik Bertelsen, pr-7145 1999-03-12 22:42:30 +00:00
fair 02b2bb48b7 Apply patch from PR#6443 to set LED properly when BLINK option is
not set.
1999-03-11 06:44:40 +00:00
pk e951781842 _C_LABEL() is not implied by _ENTRY(). 1999-03-07 22:36:04 +00:00
pk 3846cac1e1 Use `-Ttext' switch & collect ld options in LINKFLAGS. 1999-03-05 11:13:39 +00:00
pk da1407c412 Use <machine/asm.h> to construct C identifiers. 1999-03-05 11:12:16 +00:00
pk 994c338f0a Apply C_LABEL() to `esym' too. 1999-03-05 11:07:03 +00:00
pk ebd1f5abc9 Have pseudo function return a value. 1999-03-05 10:55:55 +00:00
pk 29db4ce692 Use macros from <machine/asm.h> to construct C labels. 1999-03-05 10:45:25 +00:00
pk a1aa41e201 consinit: cover all cases. 1999-03-05 08:30:33 +00:00
pk cf93b65b10 Print version prettier. 1999-03-02 13:41:03 +00:00
pk e2909faa19 Sanatize consinit() a bit. 1999-03-02 13:40:05 +00:00
kim d3a3d58726 Try not to run when kernel is in secure mode. 1999-03-01 01:05:51 +00:00
pk f008a1bbd0 Missing `break'. 1999-02-27 16:13:59 +00:00
pk 49035b27c8 Do not call printf() from a CPU that is spinning up; defer the probe
messages to cpu_attach() where the boot processor takes care of them.
This also necessitates a slight change in the way the FPU name is stored.
1999-02-27 13:11:21 +00:00
scottr d32ed292af defopt BUFCACHE and BUFPAGES. 1999-02-27 06:39:34 +00:00
chs 31ef6fbb8d add RODATA(), which is like ENTRY() but without the _PROF_PROLOGUE. 1999-02-24 16:02:19 +00:00
pk 9efc61e01c Accept __syscall() in NetBSD a.out emulation. 1999-02-23 06:47:05 +00:00
pk 372e76a3bb Since V2 & V3 proms already pass us ihandles for stdin and stdout,
there's no need to open the device a second time. It suffices to
just convert the `ihandles' to `phandles'.
1999-02-22 17:15:30 +00:00
kristerw 871ac39c21 The recent simplification of the lint version of the va_arg macro broke
linting of vfprintf.c, where va_arg is used as
   *va_arg(ap, quad_t *) = ret;
Make the macro slightly more complicated...
1999-02-20 00:33:55 +00:00
christos 85a8ddde1d make the #if 0'ed code compile... 1999-02-18 17:23:55 +00:00
christos 88bdeec361 && || confusion. 1999-02-18 17:21:14 +00:00
pk 8d45c4eb84 Use promlib version correctly. 1999-02-16 07:22:17 +00:00
pk 6139fd16f3 Install the `machine' link again; it went missing a while ago.
Add `-I.' to CPPFLAGS to use it.
1999-02-15 19:31:34 +00:00
pk 2a1ecde639 Transfer copyright to TNF. 1999-02-15 19:01:38 +00:00
pk d292580f3f Use PROMLIB to streamline this code. This also provides the bulk of
Open Firmware boot code.
1999-02-15 18:59:36 +00:00
pk 8460b71d8d * Add promlib.c to common sources.
* Compile with prototype warnings turned on.
1999-02-15 18:52:12 +00:00
christos c95ea656d6 Elf bits. 1999-02-14 20:04:26 +00:00
pk 059697a999 Use PROMLIB's prom_setcontext(). 1999-02-14 14:37:45 +00:00
pk 3ee0ba2805 romcall() => prom_halt() 1999-02-14 14:37:15 +00:00
pk 67df93822d Add size arg to getpropstringA 1999-02-14 14:03:16 +00:00
pk 8edcd03969 Use the PROMLIB interface. 1999-02-14 12:44:31 +00:00
pk 9896803ae6 Fake a label only if it appears to be blank, and if so use RAW_PART
instead of 0.
1999-02-14 12:42:33 +00:00
pk 4b9ee1f8ce This file is superseded by promlib.c 1999-02-14 12:38:03 +00:00
pk 4dc82c28b4 Exit: obp.c; Enter: promlib.c & openfirm.c 1999-02-14 12:36:50 +00:00
pk a8456f4e8a Check OBP magic: if no match then assume an Openfirmware PROM. 1999-02-14 12:33:55 +00:00
pk 1e5bf77774 Adjust to functionality and changes introduced with <machine/promlib.h> 1999-02-14 12:26:16 +00:00
pk a99ba2939c Provide a uniform interface to most of the PROM functions.
Include an Openfirmware back-end (mostly copied from sparc64).
1999-02-14 12:23:03 +00:00
christos 6e13c7d4b5 Avoid defining __extension__ if we don't need to. Breaks lint. 1999-02-13 20:35:02 +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
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
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
fvdl 1461618ead Make this compile for SUN4 only. 1999-02-08 00:13:20 +00:00
christos d30ef27fb0 s/ELF/__ELF__/ 1999-02-07 20:21:09 +00:00
jonathan c9d036d796 defopt MEMORY_DISK_{HOOKS,SERVER,IS_ROOT}. 1999-02-07 09:34:58 +00:00
hannken c4bc93ad94 Define _STANDALONE instead of STANDALONE. 1999-02-06 13:34:15 +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
mrg 1ccaf05ff1 add CPU_SUN4U, to make libkvm compile. 1999-02-01 22:20:02 +00:00
drochner cc66380116 fix address incrementing in the read_region_N, write_region_N,
set_region_N and copy_region_N methods
1999-01-29 16:30:51 +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
pk 922c3eb8f9 Read & clear fault status register after probing translation. 1999-01-24 10:12:22 +00:00
pk 84826812fc Don't tread on cache tags if the cache is already enabled. 1999-01-24 10:11:23 +00:00
christos 64df2f4fd8 Remove old prototypes (move to mi code), and add the xrs gunk! 1999-01-21 23:05:14 +00:00
christos 0b836e1a7b move the machine independent portion out of the context functions. 1999-01-21 22:58:57 +00:00
mycroft 399318b456 Vanity config files. 1999-01-21 09:58:26 +00:00
pk 5ce78d9342 Fix think-o in srmmu_cache_flush(). 1999-01-20 15:25:29 +00:00
pk 565d3768e5 Catch `Unimplemented Flush' traps. 1999-01-20 00:15:07 +00:00
pk 521611091a Set the Hypersparc ICCR bits. 1999-01-19 23:07:29 +00:00
pk 88993b57d9 Define macros to read & write Ancillary State registers. 1999-01-19 23:05:52 +00:00
pk 66cd211961 Define Hypersparc ICCR bits. 1999-01-19 23:04:02 +00:00
thorpej 2fb041ce0a No need for <sys/mtio.h> 1999-01-19 18:18:41 +00:00
pk a711033aa2 Deal with SIR_SERIAL (for `com' devices).
XXX - consider using __GENERIC_SOFT_INTERRUPTS instead
1999-01-19 10:04:42 +00:00
pk dd91d8a2b4 Add SIR_SERIAL soft interrupt source. 1999-01-19 10:02:40 +00:00
pk 58fa0024a5 Add `qe'. 1999-01-17 20:45:26 +00:00
chuck 90ddaed9b5 MNN is no longer optional, remove dead code 1999-01-16 20:43:21 +00:00
pk c884428427 Add `be' + MII devices.
Add PCMCIA devices that are known to compile at the moment.
1999-01-16 13:43:50 +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
mrg bb4584ec40 look for /^Version:/ to find the boot block version, rather than using
the "version" file's RCS id (which is useless for branches).
1999-01-15 00:48:03 +00:00
pk 6a8119ff1d Sanity check from Matthias Drochner. 1999-01-15 00:26:24 +00:00
pk 0372e36e3f device_register: recognize `lebuffer' and `isp' as controllers. 1999-01-14 13:08:24 +00:00
pk de7b3f5492 Add `bus_space_subregion()' which was curiously missing. 1999-01-13 20:48:40 +00:00
pk 53c6ccd94d Add `eccmemctl' entry. 1999-01-13 20:35:30 +00:00
abs 4b0a936711 fix void arithmetic 1999-01-13 04:19:08 +00:00
thorpej 8406f65cbf Use a pool for pmap structures. 1999-01-11 20:58:46 +00:00
mrg d1f3239be8 bump size of miniroot 1999-01-10 13:40:30 +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
pk 9d4c26b2c1 * hypersparc support:
get cache size from PROM info like the others
	reset the cache type bits before setting our desired values
* smp cache flushing:
	protect the cpu message bits with splhigh().
1999-01-08 10:15:10 +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
pk fc6df8006b Make sure we don't spuriously detect more than one boot device (as the
previous patch but extended to all devices).
1998-12-21 11:25:39 +00:00
drochner 52c16cf83a get "opt_compat_svr4.h" out of <sys/conf.h> 1998-12-18 16:55:39 +00:00
kleink fec2cc52f3 T_SVR4_GETHRESTIME returns a nanosecond quantity in %o1. 1998-12-17 22:26:02 +00:00
christos 9a2a015957 1000000000 nsec != 2^31 nsec (from kleink) 1998-12-15 16:06:15 +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 f3e2980d41 note thta installboot.8 is built in share/man. move installboot.8 back to the same place the sources are, just build it in an MI location. 1998-12-11 12:18:46 +00:00
mjacob c2e84d0cde What was missing here is the mapping between our booting SCSI bus number
and the parent (hba) path from which we booted from. As a temp fix,
we'll only go with the first match to set altbootdev- not additional matches.
The problem was further exacerbated by the fact that cnpoll doesn't seem
to work on serial consoles.
1998-12-05 21:05:44 +00:00
pk 5d9f86821c Add a device_register() function to determine the boot device.
Use it in addition to the old method for a while, so we can take note
of any glitches easilier.
1998-12-03 23:49:58 +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 34a1fe3ee3 Fix bogus asm statements; tmp1 and tmp2 need to be outputs rather than inputs. 1998-11-29 10:37:08 +00:00
pk 2e89e9144b Turn a bunch of bus_space_*() macros into in-line functions mostly to avoid
variable aliasing.
1998-11-26 23:50:52 +00:00
pk c918193752 Add splserial(). 1998-11-26 22:53:13 +00:00
mycroft 8df55592be Minor changes; indentation for delay slots and NOTREACHED comments. 1998-11-26 22:36:43 +00:00
mycroft 90a44dd270 Clean up kcopy() some more:
* Return EFAULT, not -1.
* Rearrange some instructions for better parallelism.
1998-11-26 22:30:31 +00:00
pk 79bf04ce4f kcopy() must restore pcb_onfault handler. Pointed out by Charles Hannum. 1998-11-26 22:17:33 +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
pk b34cd5fdf0 Add IPL_SERIAL 1998-11-25 19:33:02 +00:00
pk 701d8366f0 Define `interrupt priority levels'.
XXX - for now, these arbitrary identifiers; NO INTERPRETATION IS DEFINED YET
1998-11-22 23:53:24 +00:00
pk cecf78e09d Connect the PCMCIA bus. 1998-11-22 23:36:42 +00:00
pk e40c5c3c20 Add busses: PCMCIA, MII, ATA 1998-11-22 23:22:26 +00:00
pk bc98f448b8 Turn the passed tag into "used" arguments. 1998-11-22 21:52:24 +00:00
thorpej 5f0577babc Adapt to the new scsipi_adapter interface. 1998-11-19 21:43:00 +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
pk dee948f2d9 Increase the delay after touching the IOMMU control register by another
three no-ops (empirically verified by Robert Elz).
1998-11-18 12:07:47 +00:00