Commit Graph

27871 Commits

Author SHA1 Message Date
eeh d7b32d756c Use a newer version (still disabled) of block bcopy. 2001-06-30 19:09:38 +00:00
bjh21 4397eef459 Make cpu_reboot do all the standard things. 2001-06-30 16:49:16 +00:00
bjh21 1b14f7d532 Also make it return something. See, Ben, you _do_ need to test every change. 2001-06-30 16:20:37 +00:00
bjh21 f7968131c1 Make arcvideo_show_screen() into a no-op, since it gets called on shutdown. 2001-06-30 16:19:12 +00:00
bjh21 2e95360b2f Add dtide and hcide, since they should work on arm32. 2001-06-30 15:09:38 +00:00
ragge 29455521b5 Do more intelligent calculation of KVM size. This reduces the amount of
pre-allocated physical memory significantly.
A 11/750, for example, get 2MB more free (of 14MB), about 12%.
2001-06-30 12:54:33 +00:00
darcy ce0ec1e208 Add System V semaphore resource limits to each GENERIC file that has an
option for System V semaphores.  It appears that there are no overrides
in the code and each file has the following added.

 options    SYSVSEM     # System V semaphores
+#options   SEMMNI=10   # number of semaphore identifiers
+#options   SEMMNS=60   # number of semaphores in system
+#options   SEMUME=10   # max number of undo entries per process
+#options   SEMMNU=30   # number of undo structures in system
 options    SYSVSHM     # System V shared memory

If anyone thinks that this is incorrect for any of these files, please
correct it.

Note - the i386 port was not forgotten.  It was done separately.
2001-06-30 11:00:31 +00:00
matt 454a630dbd Print both the lower and upper dbat register when printing dbat registers. 2001-06-30 02:03:16 +00:00
matt 39fa08a172 Reset segment registers 1-7 upon entry to kernel (via trap or interrupts)
so that the bat spill code won't run into spurious valid user pages and
treat them as kernel pages.  Restore segment registers 1-7 upon return to
user mode from either a trap or interrupt.   XXX  eventually do all 16 SRs
2001-06-30 01:24:13 +00:00
matt 7c5977ea4f Fix a spurious debug printf.
Fix pmap_procwr to not check a NULL pvo.  (Duh!)
Reformat pmap_print_mmuregs.  Actually *fill in* the dbat registers.
2001-06-30 01:21:24 +00:00
eeh 353e24fc8d Fix fpu save/restore code. 2001-06-30 00:09:08 +00:00
eeh 46392e4bee Fixup fpu save restore, get rid of some unused copy functions, and add
a new bcopy.
2001-06-30 00:08:15 +00:00
eeh 649ea57857 Handle proper saving of the fpstate. 2001-06-30 00:00:41 +00:00
eeh 32267affba Handle saving and restoring the fpstate properly.
(Are these functions ever called?)
2001-06-29 23:58:40 +00:00
eeh 5df2260776 Add the shorter version of block ASIs used by Sun. 2001-06-29 23:56:05 +00:00
toshii 56b40cd78a Fix autoconf related botch: do printf("\n") in attach funcs rather than
in cfprint.
2001-06-29 17:22:50 +00:00
toshii f1e3122487 Fix 3rd arg of config_search(). 2001-06-29 16:58:55 +00:00
toshii 5df8e31135 Probe SA1111's ID register. Fix 3rd arg of config_search(). 2001-06-29 16:58:17 +00:00
toshii 7b01bb9073 Add ID register location. 2001-06-29 16:54:55 +00:00
mrg 2307774c9a #include <machine/autoconf.h> 2001-06-29 03:32:10 +00:00
toshii ff7d26d2ed KASSERT current_intr_depth == 0 before uvm_fault. 2001-06-29 02:43:56 +00:00
toshii 84408cfa2e Catch up long ago arm32 change: vm_offset_t -> {p,v}addr_t. 2001-06-29 02:40:28 +00:00
toshii 8a0e9b17a0 Use ld -X instead of -x, to keep local symbols for DDB.
XXX does other arm ports need this change?
2001-06-29 02:38:32 +00:00
bjh21 7a42a10e95 Gratuitous spelling corrections:
10base2  -> 10BASE2
10baseT  -> 10BASE-T
10baseFL -> 10BASE-FL
2001-06-28 23:01:55 +00:00
ragge 2c4d8265db Panic if page fault on interrupt stack, per request from Jason Thorpe. 2001-06-28 21:54:23 +00:00
matt 03ff023c76 Onfault needs to be done even from interrupts so restore that. Default
to EFAULT for the error.
2001-06-28 21:27:47 +00:00
matt 6ca9622494 Add pmap_interrupt_* to pmap_*map_pa. Remove interrupt toggling from
pmap_pte_spill.  Fix pmap_protect.  Macroize mfsrin instruction.
2001-06-28 20:35:21 +00:00
matt 78c7d18804 Turn on PMAP_MAP_POOLPAGE 2001-06-28 20:31:37 +00:00
uch 7ceb721a2a sample configuration for HP620LX 2001-06-28 19:07:13 +00:00
uch c8af82081b add interrupt monitor for debugging. (disabled by default) 2001-06-28 18:59:06 +00:00
matt fdb7751e9c Update for thorepj's UVM changes. Don't even try to call uvm_fault or do
pcb_onfault recovery while in interrupt mode.  Just die.  Print out error
returned from uvm_fault (-1 for interrupts).
2001-06-28 18:33:39 +00:00
uch c8f9a5d874 console module refers hd64461video's needs-flag instead of hd64461if.
(pointed by MAEKAWA Masahide)
2001-06-28 17:03:47 +00:00
matt 87a64549c4 Change a bcopy to a structure copy. 2001-06-28 15:23:39 +00:00
soren 882f3b1bd2 Const'ify bootblk_commands[] to match lib/libi386.h change. 2001-06-27 22:58:32 +00:00
lukem 69bda4d299 be consistent with #define<TAB> 2001-06-27 22:55:08 +00:00
atatat 28f77f292c add brief descriptions of the contents of the *other* directories 2001-06-27 22:10:13 +00:00
fredette 3543a1603c Removed stand from SUBDIRS. 2001-06-27 19:23:16 +00:00
fredette 9dd442f913 Added a Makefile for the sun2 includes. 2001-06-27 19:22:18 +00:00
fredette 4c566b2daa Include a common header, then define macros that
give the appearance of specific attach args for
the mbio and mbmem buses.
2001-06-27 19:21:49 +00:00
fredette 2cf2ebc67c Now define a suitable ELF32_MACHDEP_ID_CASES. 2001-06-27 19:20:22 +00:00
fredette dd2704a334 Just include a common header. 2001-06-27 19:19:22 +00:00
fredette 4218d61e30 Use _KERNEL_OPT. 2001-06-27 19:08:58 +00:00
fredette dced0aa013 Declare the PROM console device. 2001-06-27 19:02:26 +00:00
fredette 33575e8a53 Now don't include zsvar.h until the end. splzs() is
now defined in machine/cpu.h.  Define zs_peripheral_type.
2001-06-27 19:01:14 +00:00
fredette f76d90d237 Added comments and fixed some macros now that I correctly
understand how to address the sun2 VME bus in the VM hardware.
2001-06-27 18:54:27 +00:00
fredette 5f35b65f29 Now define kernel_context() and restore_context(), these
are used by some sun68k common code.
2001-06-27 18:48:30 +00:00
fredette 451ebb23d2 Converted to use the new bus-specific attach args.
Added the zs_console_flags function, used to tell
MI code what zs is tied up in the console.
2001-06-27 17:41:03 +00:00
fredette 75eb351428 Converted to use the new bus-specific attach args,
and the bus_space_peek_N functions.  Now use hand-defined
macros instead of relying on structure layout to find registers.
Allocate the DMA handles here, since the MI chipset code
doesn't do that any more.
2001-06-27 17:37:04 +00:00
fredette a63be0a0a4 Converted to use the new bus-specific attach args,
and the bus_space_peek_N functions.  Also uses the
sun68k-specific bus_space_copy{in,out} functions.
2001-06-27 17:32:44 +00:00
fredette b480d71a7a Added an attachment for Intel ethernet (ie) at obio.
Added support for the 3Com Ethernet (ec) at mbmem.
2001-06-27 17:24:35 +00:00
fredette 1bf6975d6b Added support for the PROM console. 2001-06-27 17:04:59 +00:00
fredette fdc8ed9a06 Updated for ELF support. 2001-06-27 17:03:10 +00:00
fredette 79f31f9463 A sun2 is also a sun68k kind of a machine, and it also uses ELF. 2001-06-27 16:59:57 +00:00
fredette e702f4a813 Now uses the sun68k common code. Changed how the keyboard
and mouse attach.  Added support for ie at obio, the ec adapter.
2001-06-27 16:57:57 +00:00
fredette 9e33b7b680 Updated with VME machine support, a.out compat,
some zs and console changes.
2001-06-27 16:51:20 +00:00
darcy 685fb6365d Added the commented lines with the defaults for the system values associated
with System V semaphores.
2001-06-27 13:40:12 +00:00
nisimura 229c5757e6 Cobalt MIPS servers are known to have QED RM5200 processor. 2001-06-27 08:44:24 +00:00
nisimura 0533d3265c Do a straight and simple cpu identification in cpu_attach(). 2001-06-27 08:20:44 +00:00
fredette 08068ecc5d Don't unmap the PROM's first four physical/virtual pages
inside pmap_bootstrap, instead we will wait until we have
installed our vector table.
2001-06-27 03:41:27 +00:00
fredette d5598f2f68 Made these files part of the sun68k common code. 2001-06-27 03:32:49 +00:00
fredette 39fb6a6f16 Now netintr and sun2_find_prom_map have prototypes in
the common sun68k code.  Added prototypes for g0_entry
and g4_entry so that prom_abort() can use them.
2001-06-27 03:31:42 +00:00
fredette 7a083fffc2 Don't set up the g0 and g4 handlers here, now prom_abort()
does this.  Include the common m68k 16-bit aligned copy routines.
2001-06-27 03:25:31 +00:00
fredette 4d85da3f79 Moved much softint and bus_space/bus_dma code
to the common sun68k code.
2001-06-27 03:16:02 +00:00
fredette ee7503cf71 Converted to use the new bus-specific attach args. 2001-06-27 03:00:45 +00:00
fredette a50332b3e7 Converted to use the new bus-specific attach args,
and the bus_space_peek_N functions.
2001-06-27 02:59:26 +00:00
fredette 19f9c211b0 Added a kernel files/devices config file covering
the common sun68k code.
2001-06-27 02:55:30 +00:00
fredette c0cf0f4a11 Added a Makefile to install sun68k common headers. 2001-06-27 02:53:39 +00:00
fredette fef1479cf8 Now give at least the appearance of having bus-specific
attach args.  In reality everything is still one structure,
now called mainbus_attach_args, and a series of macros
creates the illusion.
2001-06-27 02:53:07 +00:00
fredette 1a29a16e5a Now define splzs() here. 2001-06-27 02:51:45 +00:00
fredette 5d81b8d269 Added common sun68k autoconfiguration and bus_space
related code.  Currently used by sun2.
2001-06-27 02:48:32 +00:00
chris e2d29421a9 Add checks (make non DIAGNOSTIC) to make sure that we never call uvm_fault from an interrupt. 2001-06-26 22:09:19 +00:00
uwe 6a127dddd8 KNF: put parens around returned values. 2001-06-26 20:35:54 +00:00
uwe b4ded8ad61 Some OpenFirmware client services return -1 on error, while the rest
of the code expects zero.  Add some wrappers so that opf promops are
consistent with obp promops.  Now microSPARC-IIep correctly panics ;)
While here, propagate 'static' to opf_* definitions.
2001-06-26 20:21:59 +00:00
uwe 67a5f8fc0a OF_finddevice uses -1 to signal error. Make it zero to match what
the rest of the code expects the error value to be.
2001-06-26 19:37:54 +00:00
bjh21 e0e53bb8fe Change the DUBUG check on interrupt depth in do_fault() into a KASSERT, since
we're never allowed to call uvm_fault from an interrupt.
2001-06-26 19:37:18 +00:00
bjh21 ead93c630b Chomp out the old, unused undefined_handler(). 2001-06-26 19:22:02 +00:00
thorpej 0910b96106 Panic if we get an MM trans/prot fault in interrupt context. 2001-06-26 17:29:28 +00:00
matt 6bad4f04a0 Record any stack growth. This fixes a serious problem with core dumps.
Without this change, coredumps will only contain one page of stack
regardless of how many pages of stack the process actually has.
2001-06-26 13:00:18 +00:00
thorpej 93c03c9726 - Implement a real pmap_kenter_pa()/pmap_kremove().
- Use pools for pmap structures and pv_entry structures.
- Remove a bunch of splvm()/splx(), no longer needed now that
  pmap_kenter_pa() and pmap_kremove() are as they should be.

Mostly from Chuck Silvers.
2001-06-26 00:31:32 +00:00
chris b8ceed365f Improve the vac_me_harder function, it is now slightly faster, however pmap_enter_pv is also now slightly slower, so they appear to balance out.
Note that I've some ideas in the works on how to improve the pv handling, so the slow down is short term only.

Also added non-advertising licence and copyright to myself and richard.
2001-06-25 23:22:38 +00:00
eeh 55e676fb15 Remove another unused file. 2001-06-25 23:07:03 +00:00
eeh 47b3df529a Remove unused file. 2001-06-25 21:28:03 +00:00
thorpej 7a1408c38b Deal with different `memsize' convention on new PMON revs. 2001-06-25 21:25:07 +00:00
thorpej 498641fc7e Print more BONITO rev. info. 2001-06-25 20:15:57 +00:00
thorpej 1111f1d461 Add some macros to decode the BONITO revision register. 2001-06-25 20:15:03 +00:00
thorpej e26fe5cc01 Compute the VM_* constants directly, rather than hard-coding
them (with the formulas in comments).
2001-06-25 16:28:48 +00:00
matt c12370b691 Don't include -mno-pic on gcc 2.95 2001-06-25 05:12:01 +00:00
simonb f285587c4e Fix typo in emac0 base address. 2001-06-25 01:49:15 +00:00
chris 407440a6b3 Add a pmap_map_ptes function to map another process page table entries into the current pmap (similair to pmap_pte) but this allows multiple use of it, rather than repeated calls of pmap_pte for pte, map_ptes returns a pointer to the va where the entries were mapped so it can be reused ptes can be found by indexing into it.
Update some of the functions that use pmap_pte to pmap_map_ptes.

Note that there's a dummy macro for pmap_unmap_ptes, this is because at some point locking will be needed, so we need to be able to unlock them.

Performance gain seems to be minimal, however long term it should help improve things.

This is similair to the i386 pmap_map_ptes, however it's based on a version from Richard Earnshaw.
2001-06-24 23:21:04 +00:00
briggs cec5a93a27 Include powerpc/spr.h. 2001-06-24 20:43:36 +00:00
deberg e917e9ed35 spelling 2001-06-24 17:49:47 +00:00
nonaka afd99dc0b2 Add ahc(4), fxp(4), rtk(4) 2001-06-24 17:40:07 +00:00
wiz e18583d6a8 Adapt to linux emul trap change. 2001-06-24 17:38:28 +00:00
bjh21 7acb229356 Sync with GENERIC. 2001-06-24 10:36:09 +00:00
bjh21 ea6baf5775 Add dtide, hcide, oak and atapibus, since these all seem to work now. 2001-06-24 10:34:26 +00:00
chs 908aa6ff3d remove "machine vmstat" command, since "show uvmexp" does the same thing. 2001-06-24 07:32:20 +00:00
msaitoh 40204ff68c fix KERNELMODE() macro (check MD bits, too) 2001-06-24 05:34:07 +00:00
msaitoh fa7f03665e use MMUCR_TF macro defined in mmureg.h 2001-06-24 05:32:55 +00:00
msaitoh 8a3c1726a2 cpu_fork() fix:
- add cacheflush() when sh4
	- convert kr15 from P2 area to P1 area (SH4)
2001-06-24 05:22:18 +00:00
chs 35d97ad657 make this compile without DIAGNOSTIC. 2001-06-24 05:00:40 +00:00
msaitoh 33b63f3efa fix microtime() 2001-06-24 05:00:28 +00:00
msaitoh a76500b70d trim PCLOCK to 49.9MHz 2001-06-24 04:57:58 +00:00
simonb 78cdef0bfc Move on-chip 405GP devices to powerpc/ibm4xx/dev. 2001-06-24 02:13:37 +00:00
simonb 0bc879bff8 Update some includes, note that there can be more than one emac on some
of the NP processors.
2001-06-24 01:19:17 +00:00
simonb 98120079fb ibm405gp.h also includes emac register definitions, remove them from here. 2001-06-24 01:18:16 +00:00
simonb 4e71ca0f12 Use 405GP PVR value from ibm405gp.h, not a local #define. 2001-06-24 01:16:18 +00:00
simonb 6d4b6ead83 Update for walnut.h/ibm405gp.h changes. 2001-06-24 01:15:41 +00:00
simonb 8980655597 Move 405GP registers, addresses and other info to ibm405gp.h. Leave only
board-specific addresses and other info in walnut.h.
2001-06-24 01:13:11 +00:00
simonb e3030308b1 Comment out de* and uncomment the TLP_MATCH_* options. 2001-06-24 01:06:02 +00:00
bjh21 c92dc14f82 It looks like cninit() is necessary on Risc PCs using the old console
drivers.  At least, putting it back in stops my Risc PC crashing at startup.
2001-06-23 16:47:41 +00:00
bjh21 690f56e57a Add a common <arm/param.h>, containing those few things that are obviously
common across all ARM systems.
2001-06-23 13:25:19 +00:00
toshii e5c43d9b98 Fix a nit. 2001-06-23 12:32:20 +00:00
bjh21 3622d4e282 Add <arm/endian.h> and remove the cats, dnard and netwinder versions, since
they're all the same (a redirect to <sys/endian.h>).
2001-06-23 12:20:27 +00:00
toshii 6adb72bfb8 Speed optimization, inspired by recent sys/arch/arm/arm/blockio.S changes.
Among bus_space_{read,write}_multi, only bus_space_read_multi_2 is
optimized.  bus_space_write_multi_2 didn't gain speed with ldm.
bus_space_*_multi_{1,4} aren't heavily used anyway.
2001-06-23 10:19:04 +00:00
toshii 446833d1b1 Enable a bunch of PCMCIA network cards. They cannot be tested before
enabling.
2001-06-23 10:05:11 +00:00
toshii c9b6aeb4f9 Add jornada720 keyboard device. 2001-06-23 09:28:59 +00:00
toshii 912e831053 Remove obsolete BOOTINFO_FB_* workaround. 2001-06-23 09:25:17 +00:00
toshii b57d496dee Add support for jornada720 keyboard and some LCD parameter controls.
The code is somewhat incomplete, but is quite functional.
2001-06-23 09:20:05 +00:00
toshii e671a13d47 Move sed1356_softc definition to a header file. Setup a backlight
power control hook.
2001-06-23 09:13:06 +00:00
matt 7effaaaa7c Disable interrupts when dealing with pvo lists. clean up some things.
Keep track of executable ness of pages.  Of sync icache executable pages.
2001-06-23 03:17:32 +00:00
matt dde0daca06 Use __asm __volatile. Use _POWERPC_SPR_H_
Add PTE_RO/PTE_RW for old pmap.
2001-06-23 03:16:11 +00:00
matt e25aa0ea82 Use pmap_kenter_pa instead of pmap_enter for phys_map 2001-06-23 03:10:59 +00:00
tsutsui 12e908657b Add iha(4), which works as well on my 7248. 2001-06-23 03:09:20 +00:00
matt 5d30ec2c7e Use SPR_xxx for the *MISS HASH CMP, etc. 2001-06-23 02:36:14 +00:00
matt 8a580d3ce9 #include <powerpc/spr.h> 2001-06-23 02:24:20 +00:00
matt e6ea394a3a #include <powerpc/spr.h> Use SPR_HID0 in place of 1008 2001-06-23 02:12:34 +00:00
matt a627c75f35 #include <powerpc/spr.h> and SPR_PIR in place of 1023 2001-06-23 02:07:07 +00:00
lukem da0e06bcd6 remove remnants of np device, per my recent files.vax commit 2001-06-22 16:40:51 +00:00
toshii 90b62cfa61 Don't include <machine/autoconf.h>, which should not be necessary.
Moreover, hpcarm doesn't have such a header file.
2001-06-22 14:38:44 +00:00
thorpej 2a171eff3a Correct a typo. 2001-06-22 14:29:12 +00:00
thorpej 3ae8717568 Add commented-out examples for how to use MEMSIZE and ETHADDR options
in the event that you need them (really old PMON versions).  Add FDESC.
Comment out SCSI-related stuff until I work out why the system goes into
outer orbit when its enabled.
2001-06-22 14:15:56 +00:00
thorpej 04986e1e9a Add FDESC. 2001-06-22 14:14:16 +00:00
thorpej 306b1b09bc Kernel config file for a P-6032. 2001-06-22 14:12:19 +00:00
simonb 2b987a894d Use a few more header defines instead of magic numbers.
Wrap some longer lines.
2001-06-22 13:21:35 +00:00
simonb 7b9237cb08 White space nit. 2001-06-22 11:42:33 +00:00
simonb 363019a6c1 Add a db_active variable that indicates if a call to the debugger is
active.  Seems to be required by the MI com driver nowadays.
2001-06-22 11:40:41 +00:00
simonb 4a8066748f Use register names from <machine/walnut.h> and not magic numbers. 2001-06-22 11:37:49 +00:00
simonb c32976ecd7 Make this work without DDB configured in. 2001-06-22 11:36:05 +00:00
chris c3b7efe5d3 GC a couple of unused entries in the pmap struct 2001-06-22 09:12:11 +00:00
chris cca2bd293b Use a pool to store pmap structs. 2001-06-22 09:09:42 +00:00
thorpej 36a4b627d0 Sigh, Jason needs to go to sleep. 2001-06-22 07:00:25 +00:00
thorpej 32e780695d Add a couple of missing p6032 bits. 2001-06-22 06:50:21 +00:00
thorpej 0c37c9e860 Check in work-in-progress of P-6032 support. This is not tested,
but is meant for back-up purposes.
2001-06-22 06:02:54 +00:00
thorpej 7f047ac2b2 Use the other DMA window (with prefetch enabled) on the P-4032
on-board Ethernet.  Suggested by Nigel Stephens <nigel@algor.co.uk>.
2001-06-22 05:57:26 +00:00
thorpej b440db94e8 Fill in one P-6032 snippet. 2001-06-22 04:33:26 +00:00
thorpej 4b23ee5d3b PCI configuration space access for BONITO. 2001-06-22 03:58:55 +00:00
thorpej 5df8e5587e Basic BONITO software state definitions. 2001-06-22 03:58:33 +00:00
thorpej 90c3629b19 Add a definition for BONITO_PCIMAPCFG_TYPE1, and make the BONITO
accessor macros useful in the NetBSD kernel environment.
2001-06-22 03:58:03 +00:00
thorpej e4ce5f4268 A P-6032 will never have a V3 PBC -- don't include its option header. 2001-06-22 03:45:24 +00:00
simonb 7fe4c3ba1d Make this compile when DEBUG isn't defined. 2001-06-22 03:25:39 +00:00
thorpej b5443137f0 Only call through the function pointer if it's not NULL. 2001-06-22 01:42:20 +00:00
toshii 8128f45c37 Remove useless DEBUG code. 2001-06-22 01:29:26 +00:00
matt 41d73006f1 DMISS/DCMP/HASH1/HASH2/IMISS/ICMP/RPA are also valid on the MPC6XX
(specially the 603 and maybe the 601)
2001-06-22 00:01:25 +00:00
chris 2f52c6af4f Remove commented out reference to EBSA missed in previous change. 2001-06-21 23:11:48 +00:00
eeh 6bda7d4cc7 Add an install kernel w/room for a miniroot. 2001-06-21 23:00:19 +00:00
chris 9bb435db31 Tidy up bootconfig, only needs the footbridge section on cats. 2001-06-21 22:08:28 +00:00
matt 6d3037579c Change a debugging message a bit. 2001-06-21 22:05:50 +00:00
thorpej 1ce7119f17 More ISA interrupt rototilling. I get *some* interrupts on a:
we1 at isa0 port 0x300-0x31f iomem 0xcc000-0xcffff irq 10
we1: WD8013WC Ethernet (16-bit)
we1: Ethernet address 00:00:c0:94:f6:72

...but still nothing on the PCIC.
2001-06-21 19:00:18 +00:00
thorpej e0901dc354 Fix whitespace botch. 2001-06-21 18:58:18 +00:00
matt 756d684c5a Rename/enumerate the PTE protection bits to their real purposes. 2001-06-21 18:03:37 +00:00
briggs 9fb64d8fcd Build with and without option NEWPMAP. 2001-06-21 16:30:05 +00:00
briggs 1e9e15b279 Bring back pte.h for non-NEWPMAP builds. 2001-06-21 16:28:51 +00:00
wiz e2eaa3b87a constraint, not contraint. 2001-06-21 12:15:03 +00:00
chris db3f1a4dd5 Update vmparam.h to just have the cats value for KERNEL_VM_SIZE.
As noted by Robert Swindells.
2001-06-21 09:29:39 +00:00
thorpej cc6c89106a Correct the ISA bridge irqmap. 2001-06-21 06:24:23 +00:00
thorpej f341043437 Rototill ISA interrupt code. In particular, I have remembered most
of the horror that is the 8259 PIC.

PCMCIA interrupts still not working yet, but getting closer.
2001-06-21 05:20:54 +00:00
kei bddb038898 explain about macppc litte more. 2001-06-21 05:18:07 +00:00
matt 467c0ed022 Rework pmap_bootstrap. Fix some comments. Add old copyright until i finish
excising that code.
2001-06-21 03:26:12 +00:00
uwe 666d09dcfc Add PROM patches (forth code) as a table indexed with root node name
and prom version.  Little tweaks to prom during secondary boot are
much easier then fragile work-arounds in the kernel.  Currently this
is used for JavaStation 1 with OBP3.
2001-06-21 03:13:05 +00:00
eeh b61ff8de5f Prevent a hang if trying to pmap_protect a page with wired mappings. 2001-06-21 01:17:18 +00:00
eeh 8009aa2033 Allow multiple 4MB pages for both kernel text and kernel data.
Note: DEBUG checks will not allow accesses to the hole between
text and data segments, so you may need to update programs that
use libkvm before relocating the start of kernel data.
2001-06-21 00:24:22 +00:00
eeh ede617e6dc Allow probes to kernel addresses that generate access errors not panic the machine. 2001-06-21 00:10:49 +00:00
eeh bceb1fab42 Be a bit more consistent about returning errors. 2001-06-21 00:08:02 +00:00
chris ca2e4c7c43 remove another reference to ebsa285 missed in the last change 2001-06-20 22:20:42 +00:00
chris 7383fda9e0 Remove defopt EBSA285.
Move the files from footbridge that are cats specific.
Remove EBSA285 kernel as people should be able to use the generic cats kernel for EBSA285 systems.
2001-06-20 22:14:32 +00:00
uch cd62c87986 recompile. 2001-06-20 17:38:59 +00:00
uch 7b262bfecb when there are two or more framebuffer setting, returns best match setting.
and this is for bivideo.
2001-06-20 17:36:00 +00:00
matt f0a0494c33 Allocate mb_map is PMAP_MAP_POOLPAGE is not defined. 2001-06-20 15:25:02 +00:00
nonaka a68ff290b1 Sync reality. 2001-06-20 14:42:39 +00:00
nonaka 79c7d30f6d - Add "siop at pci" and related line.
- Add "options PCI_NETBSD_CONFIGURE".
2001-06-20 14:37:46 +00:00
nonaka 992a1d0be4 Seprate model depended code. (based on arc 'struct platform')
files.prep:
 - add new files entry.

pci_machdep.c:
 - use dev/pci/pciconf.c instead of mine for pci io/mem addr/intr fixup.

cpu.c:
 - separate code

machdep.c:
 - call ident_platform()

mainbus.c:
 - call pci_configure_bus(), if defined PCI_NETBSD_CONFIGURE

ibm_machdep.c:
 - for IBM PReP generic

ibm_6050.c:
 - for IBM Personal Power Series 830/850

ibm_7248.c:
 - for IBM RS6000/43P deppendency
2001-06-20 14:35:23 +00:00
nonaka dccc50da3c ANSI'fy 2001-06-20 14:19:28 +00:00
nonaka 87f63a4997 print elcr reg, if defined DEBUG 2001-06-20 14:11:45 +00:00
leo ad5b48bcb8 Make the compile with diagnostic. 2001-06-20 10:24:22 +00:00
jdolecek 89238be159 Adapt to lance_init() change 2001-06-20 10:10:12 +00:00
uwe 25d726e4eb Attach serial console at com. 2001-06-20 03:13:19 +00:00
briggs 279833d138 Build for kgdb as well as for ddb (mutually exclusive). 2001-06-20 02:40:14 +00:00
toshii 8b8a1cfa73 Define __HAVE_GENERIC_SOFT_INTERRUPTS, and nuke traditional softserial and
softclock.
2001-06-20 02:34:26 +00:00
toshii 9663b23e37 Add IPL_SOFT* interrupt levels.
XXX These's no point in having two copies of intr masks (spl_masks and
XXX imask).  This needs to be fixed.
2001-06-20 02:30:47 +00:00
toshii 9159944a03 Add IPL_SOFT* interrupt levels.
Fix type for softintr handlers.
2001-06-20 02:26:30 +00:00
toshii 352aae04a4 Fix type for softintr handlers. 2001-06-20 02:21:58 +00:00
toshii ccc8a74c00 Map PPC (peripheral pin controller) registers also. 2001-06-20 02:19:55 +00:00
christos b42ac39883 fix processor name 2001-06-20 02:19:36 +00:00
toshii b0f168f8ce GC dead codes. 2001-06-20 02:18:06 +00:00
toshii 681b3193ca Make sacom generic soft interrupts ready. 2001-06-20 02:16:49 +00:00
briggs e870bf36b9 There is no other support for KGDB in this driver yet, so ifdef out the
call to a non-existent (on macppc) zs_check_kgdb() for now.
2001-06-20 02:01:56 +00:00
fvdl e861a00729 X8664 -> X86_64 2001-06-20 01:20:19 +00:00
uch 27e3cda68b add document for developers. 2001-06-19 17:50:39 +00:00
uch 86b75389d1 recompile. 2001-06-19 16:51:43 +00:00
uch 3563b6010c add build number. when 'make uuencode', increment it. 2001-06-19 16:50:05 +00:00
uch a934bba390 set BI_CNUSE_SERIAL flag at SerialConsole constructor. and remove
getBootConsole member from SerialConsole class
2001-06-19 16:48:49 +00:00
sommerfeld f00786e7ab restore fs and gs from sigcontext in sigreturn (correct oversight in
previous commit).
2001-06-19 15:54:48 +00:00
wiz ac951736bc `response', not `responce' 2001-06-19 13:45:52 +00:00
wiz 3f9984fc90 `existent', not `existant' 2001-06-19 13:42:07 +00:00
fvdl fc4ff23a7a Fix a few bogons. 2001-06-19 13:19:54 +00:00
simonb e50bbd9bf9 Add -Wstrict-prototypes. 2001-06-19 13:00:42 +00:00
wiz f3f6c5b675 `accessible' only has one `a'. 2001-06-19 12:52:20 +00:00
simonb d4bcd9c735 Add/change prototypes so that macpcc builds with -Wstrict-prototypes. 2001-06-19 12:02:55 +00:00
nonaka 595d6a40b4 Back out last changes. 2001-06-19 11:56:27 +00:00
nonaka b9c1984c7e Back out last changes. 2001-06-19 11:36:17 +00:00
scw 21481088f3 Minor correction for mvme68k. 2001-06-19 09:51:03 +00:00
fvdl b4b5dc533d Add fxsr CR4 bits. 2001-06-19 09:12:49 +00:00
simonb 43eba60849 Make all the ppc delay() functions the same - formating change only, no
code changes.  Step one of a unified ppc clock.c.
2001-06-19 08:34:49 +00:00
mrg e16036ef83 complete sparc descriptions. 2001-06-19 07:49:14 +00:00
simonb 97b16e911f Move the DSISR SPR bit definitions from <powerpc/mpc6xx/pte.h> to
<powerpc/spr.h>.  Remove unused ISI/SRR1 bit definitions.
2001-06-19 07:14:23 +00:00
christos 495370b307 add x86_64 2001-06-19 02:49:05 +00:00
fvdl ba22234cb4 .s -> .S for microtime 2001-06-19 02:06:52 +00:00
fvdl 4880ff208d Forgot this one. This is basically a copy of the i386 version;
needed because the sim provides this, likely to be nuked later.
2001-06-19 02:06:15 +00:00
fvdl 653103e16a This was previously missed. 2001-06-19 01:58:46 +00:00
fvdl 090a2bb9f1 Fix typo in comment. 2001-06-19 01:40:42 +00:00
fvdl 9b4c0e34d2 Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
2001-06-19 00:19:12 +00:00
thorpej 9c9eba63ec Add gsip(4), gphyter(4), and sf(4) drivers. 2001-06-18 22:45:54 +00:00
thorpej 7478f1c9a3 Add sf(4), gsip(4), gphyter(4) drivers. 2001-06-18 22:40:19 +00:00
bjh21 cb36bacea5 Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S
into arm/arm/bus_space_notimpl.S.  They were identical anyway.

This file has no excuse for being in assembler, but I'll leave that for another
day.
2001-06-18 22:26:15 +00:00
bjh21 80c5d7ab99 Move <arm/arm32/bus.h> to <arm/bus.h>, since it looks like it's going to be
necessary on arm26 as well.
2001-06-18 21:37:32 +00:00
bjh21 743e0579d1 Remove "defopt FOOTBRIDGE" -- it's in files.footbridge now. 2001-06-18 20:49:14 +00:00
mrg cbe144f269 copy tlb_flush*() #defines here, but rename them tlb_flush*_real(). this
allows for tlb_flush*() to be defined differently if MULTIPROCESSOR.
2001-06-18 15:42:06 +00:00
nonaka 03e1e2dc99 Add bus_dma entry. 2001-06-18 14:04:39 +00:00
rafal 9e735123dc mmeye (as the text says) is sh3, not arm. 2001-06-18 11:50:07 +00:00
bjh21 c5b2129e84 Re-write arm26 description, and remove mention of "Acorn Risc Machines" from
the arm32 description, since they were Advanced by the time the ARM6 came out,
and are now just ARM.
2001-06-18 11:48:28 +00:00
uch 51b515b09a recompile. 2001-06-18 11:31:32 +00:00
uch 376c55b2be arm, mips: forgot to initialize boot console. 2001-06-18 11:31:04 +00:00
wiz ccfe29f3cf Symmetric has one s and two m's. 2001-06-18 11:23:00 +00:00
sommerfeld b10656ba32 Delete dead code.
Mask segment registers from trap frame with 0xffff for cleanliness.
2001-06-18 03:33:59 +00:00
sommerfeld 926b6ff132 since seg regs are 16 bits, toss high order bits from the trapframe 2001-06-18 03:32:14 +00:00
christos 59abdecf4b Add a linux specific trapsignal() function. This is just a passthrough
on all platforms but the i386. On the i386 we look at T_PROTFLT and send
a SIGSEGV instead of SIGBUS. This makes allegro lisp 5.0 and pvs (a proof
verification system) to work.

XXX[1]: We need to go through each architecture and verify that we send
        the correct signal on each trap type.
XXX[2]: trap.c on all other architectures but i386 needs to be modified
        to s/trapsignal/(*p->p_emul->e_trapsignal)/g
2001-06-18 02:04:42 +00:00
christos 0f380fac15 Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +00:00
sommerfeld 7e7d262c34 Add %fs/%gs to trap frame and save/restore them on
trap/interrupt/syscall entry from userspace.

Remove special-case "by hand" validation of fs/gs register values as
well as special handling of them in various signal handling paths.

Now, like %ds and %es, they are validated by the hardware on return to
userland.

This paves the way for the use of %fs for per-cpu data on
multiprocessor systems, and fixes an otherwise difficult-to-fix
interaction between threads/clone(2) and USER_LDT.

Discussed in advance with Frank van der Linden.
2001-06-17 21:01:32 +00:00
tsubai 1614d87d0e Support the new iBook. 2001-06-17 19:54:47 +00:00
tsubai 91f99e1981 Forgot to commit this -- move file .../bus_dma.c line to files.${machine}. 2001-06-17 19:32:17 +00:00
nonaka 31794a5423 NEWPMAP 2001-06-17 16:01:28 +00:00
nonaka b83f37566d identified prep model. (I missed it...) 2001-06-17 15:59:57 +00:00
nonaka 5098ff59f6 identified prep model. 2001-06-17 15:57:11 +00:00
thorpej 97354efd4d More corrections. 2001-06-17 14:54:29 +00:00
kleink abaced98c3 Fix context handling for 32-bit environments:
* Really pass PSR ICC bits instead of raw CCR.
* Don't touch ASI and FPRS, which are not part of the 32-bit mcontext.
Also, correct printf conversions in svr4_printmcontext.
2001-06-17 14:39:32 +00:00
simonb 56151c1fef Make this compile and work for the IBM 4xx series CPUs. 2001-06-17 13:39:33 +00:00
simonb d70d5d1ee0 Use _C_LABEL() for externally referenced symbols. 2001-06-17 13:39:02 +00:00
simonb 0647591d3a Globalise "trapexit" for new ddb tracing changes. 2001-06-17 13:38:33 +00:00
simonb 91817c8f5e s/workstations/machines/ for pmax and sgimips. Make the description of
the walnut more technically correct.
2001-06-17 13:37:01 +00:00
kleink db52b31344 Save/restore only the FP register file as far as the 32-bit environment
is concerned; in particular, don't overrun the [mu]context.
2001-06-17 13:10:05 +00:00
perry 407eec5184 minor fixes 2001-06-17 04:10:16 +00:00
lukem 24c92d43e5 minor typo 2001-06-17 00:48:28 +00:00
cyber 662f93aeeb Change the way boot strings are handled and the way the root device
is determined.  This allows multiple internal disks in a raq2 to work.
2001-06-17 00:11:40 +00:00
christos 38527630e2 fixes from perry 2001-06-16 23:17:34 +00:00
christos 002c8b43f1 Add a list with a brief description of each ports. With 43 ports right
now it is a bit tough to collect all the information.

XXX: Portmasters, or people who know better, please correct any mistakes.
2001-06-16 23:04:15 +00:00
tsutsui 01704d0990 Add iha at pci, which just works on my CATS. 2001-06-16 13:58:18 +00:00
toshii bf923a99b8 Don't set HPCFB_SWAP_BYTE (if little endian). 2001-06-16 12:53:05 +00:00
dbj ef86c3badd fix handling of transmit length calculation so we now handle full length xmits 2001-06-16 09:18:46 +00:00
dbj e9d708e25b allow unaligned pointers in bus_dmamap_sync 2001-06-16 09:08:05 +00:00
tsutsui aa35eff5da Enable some devices which I am/was using:
epic* at pci?
 fxp* at pci?
 sip* at pci?
 tlp* at pci?
 inphys* at mii?
 qsphys* at mii?
2001-06-16 05:47:37 +00:00
matt 38fc9e283d Fix pte_spill to set the index on the proper pvo. Deal with recursion
in pmap_syncicache.
2001-06-16 03:32:48 +00:00
tsutsui c5bc6249f0 Make sure to write out the dump header into an independent block
on the dump device on sun3x. (sync with sun3)
Now savecore(8) can find core dump in dumpdev properly.

XXX "target kcore /dev/mem" on gdb does not work yet.
2001-06-16 00:38:19 +00:00
matt 979edf3c4a pmap_syncicache can be called recursively. Properly deal with that
situation.
2001-06-15 22:28:54 +00:00
matt 60f8375758 Replace printf with (*pr) 2001-06-15 22:27:07 +00:00
dbj 093fab47ce remove extra args from printf 2001-06-15 21:56:06 +00:00
matt e55c9f74af Add missing braces in pmap_pte_to_pvo (DEBUG|PMAPCHECK defined). Rearrange
some code so that consistency check in pmap_pte_to_pvo do not trigger on
false positives.  Correct/enhance some printfs.
2001-06-15 21:29:54 +00:00
matt 25a2c4d481 While not stricly needed, to match pmap_pvo_find_va, mask of the page
offset bits.
2001-06-15 20:53:45 +00:00
matt 787e1b0b36 When comparing VA's, ignore the page offset bits.
Invert and strengthen a test for pte equality.
2001-06-15 20:43:01 +00:00
matt c7c7dab8f1 Stop overloading unused bits in the pte. Use the low 12bits of the vaddr
instead to store them.  Add a macro to fetch the vaddr without them.
Make all variables/routines prefixed with pmap_
Cleanup & fix some of the vsid bitmap usage.
Cleanup DEBUG printfs.  Add some more checks to pmap_pvo_to_pte.
2001-06-15 18:26:06 +00:00
drochner b97fed556d vm_map_t -> struct vm_map *
vm_page_t -> struct vm_page *
simple_lock_data_t -> struct simplelock
2001-06-15 17:48:13 +00:00
nonaka 7f44dfec92 Compile again. 2001-06-15 15:53:27 +00:00
nonaka 80e152f0fc Use new common bus.h framework. 2001-06-15 15:50:04 +00:00
nonaka 3a3661fb58 Delete unused function. 2001-06-15 15:24:03 +00:00
bouyer 17eff1c958 Pass WDC_CAPABILITY_MODE to the wdc core, so that it will set timings
on the drive side too.
Deal properly with the case where master and slave don't have the same timings,
and set PIO timings too.
2001-06-15 10:35:26 +00:00
matt 192642af05 Don't enable PMAPCHECK by default. 2001-06-15 08:17:00 +00:00
matt f6b81171c1 Globalize trapexit. Improve db_trace.c so that you can trace thru traps!
Rework the output so that is also prints the frame address by default.
2001-06-15 08:09:33 +00:00
matt 0278444e19 Add a check to pvo_check which makes sure the pte is really in the
pteg_table.   In pte_to_va, take into account if the PTE_HID is set.
2001-06-15 08:08:04 +00:00
matt ab92d9cd59 phys_map should use kenter/kremove 2001-06-15 08:07:03 +00:00
matt 816a5637cd When releasing the SR VSID, mask off the bits not related to the index
in the pmap vsid bitmap.
2001-06-15 06:27:07 +00:00
sommerfeld d3249871b5 Rework how user-mode instruction and stack fetches are done.
While we're in here, catch another vm86 protocol botch.
2001-06-15 05:43:40 +00:00
thorpej e51a043945 Yet more interrupt cleanup -- the platform mater interrupt establish
function now just takes an "irq", which is an index into the irqmap
table for that platform.
2001-06-15 04:01:39 +00:00
fredette 6000674775 Now unmap the PROM's pages only after we have
installed our own vector table.
2001-06-15 00:32:38 +00:00
bjh21 5dc1e8334c Fix abuse of bus_space_handles in podloader functions. 2001-06-14 23:09:23 +00:00
thorpej 8eb3b954f1 Don't need to prototype child_return() here, it's in <sys/proc.h>. 2001-06-14 22:56:55 +00:00
thorpej 1d161cd563 Correct a comment. 2001-06-14 19:03:43 +00:00
thorpej fe87c9aade When the old PCI address map is in use, disable I/O space. Also disable
I/O space on PBC revs < B2.
2001-06-14 18:52:26 +00:00
thorpej 0ddf0d259b Don't use BUS_END to compute SYS_END. 2001-06-14 18:48:23 +00:00
thorpej 80dfaa3e5a Read the PCI memory space base and the PCI DMA window base from the
V3 PBC, and use them in the bus mem tag and the bus dma tag on the
P-4032.  This allows us to get much further when PMON has configured
the PBC using the old-style PCI address map.
2001-06-14 17:57:26 +00:00
uch 6c492e4e70 fix hpcio configuration. 2001-06-14 16:55:34 +00:00
fredette 1a4779d8a4 Now get the prototypes from the common sun68k/sun68k/control.h. 2001-06-14 16:36:46 +00:00
fredette 7ab5601058 Since physical memory below 0x2000 isn't mapped anywhere
for now, return EFAULT when /dev/mem tries to read it.
Other physical memory not managed by the pmap system is
mapped at the same virtual addresses.  Now that we
understand how VME PTEs are constructed, give mmapping
a VME bus a better chance of working..
2001-06-14 16:32:45 +00:00
thorpej 4c73c770ce Add MEMSIZE and ETHADDR options, so that they can be set in
the kernel config file, in case you have a buggy PMON which
doesn't provide the environment variables to the kernel.
2001-06-14 16:14:37 +00:00
fredette 8f6cff260d Now uses the common sun68k bus_space/bus_dma
and autoconf code.
2001-06-14 15:54:18 +00:00
fredette e20baedfd4 Added prototypes for w16zero and w16copy, found
in the new w16copy.s.
2001-06-14 15:49:05 +00:00
fredette c7154a0bfd Added two functions that zero memory and copy memory
in an optimized fashion using only properly aligned
8- and 16-bit accesses.
2001-06-14 15:38:16 +00:00
thorpej defcaa8bcb Initlialize PMON after configuring the console, so we can see
debugging info.
2001-06-14 15:29:23 +00:00
thorpej 587d3ec2b4 Insert some debugging code, conditional on PMON_DEBUG. 2001-06-14 15:28:56 +00:00
fredette 70ba9292d4 Now use the bus_space_peek_N function to probe for
the device, and common sun68k_find_prom_map function to
find a PROM mapping for a device.
2001-06-14 15:20:46 +00:00
fredette 9c1d420baf This file has been moved to sys/dev/vme. 2001-06-14 15:15:15 +00:00
fredette 15b02e5ba0 Added a function, prom_sd_target, to translate a PROM
sd unit number into a SCSI target.  Now only set up our
g0 and g4 handlers inside prom_abort(), so we're not
normally running with them.
2001-06-14 13:21:39 +00:00