Commit Graph

24916 Commits

Author SHA1 Message Date
mycroft 985a81f23b GC unneeded code. 2000-12-08 22:32:09 +00:00
mycroft 73e35a46eb Increase all of the limits. 2000-12-08 21:51:35 +00:00
martin d9d7c42e0c Remove esp specific function from ddb when esp @ sbus is not included
in the kernel config. Makes compiling sbus-less kernels possible again.
2000-12-08 17:29:12 +00:00
briggs 50b56fe1a2 Do not define the same symbol with two different values. PR#11664. 2000-12-08 14:28:44 +00:00
nisimura 8df2fd7ff9 A forgotten commit that should be done at the time when zs_ioasic.c was
changed.
2000-12-08 09:42:44 +00:00
itohy c8ca4dd604 Add register prefix in asm() directives. 2000-12-08 03:00:05 +00:00
itohy 5d2d4230c8 Fix asm() directive. 2000-12-08 02:59:38 +00:00
itohy c2245838be 1. Add register prefix.
2. movb #0x01,0x01800003@ -> movb #0x01,0x01800003 (found by tsutsui).
2000-12-08 02:59:12 +00:00
thorpej 8f1cd7c976 pmap_growkernel() has been implemented. 2000-12-07 22:18:55 +00:00
thorpej cb717a97fa Fix MP race condition introduced in the previous. 2000-12-07 22:11:40 +00:00
thorpej 55ecab37a0 Fix a silly MP race condition introduced in the previous. 2000-12-07 21:53:46 +00:00
bjh21 4c4e11c0f8 Merge zero page into the start of locore. This allows us to just map the
start of the kernel text segment in at address 0 to get zero-page properly
mapped.  This should save us one page, but that may need a bit of extra
shuffling before we can easily tell UVM about it.
2000-12-07 21:48:58 +00:00
scw 3c748b810f Missed this one in yesterday's bootloader commits:
Change BUGCRT from bugcrt.o to bugstart.o.
2000-12-07 21:37:51 +00:00
bjh21 2d96994642 It seems that i-cubed used the "A" suffix on card types (along with "Lk" and
probably some others) to indicate the software mix on the card, while we
were using it to indicate Acorn-branded variants.  Change over to using "AEH"
for the latter.
2000-12-07 21:24:33 +00:00
bjh21 bd3f8674a0 Regen 2000-12-07 21:23:54 +00:00
bjh21 65cdac60a6 It seems that i-cubed used the "A" suffix on card types (along with "Lk" and
probably some others) to indicate the software mix on the card, while we
were using it to indicate Acorn-branded variants.  Change over to using "AEH"
for the latter, and while we're at it clean up the descrptions and add some
that were missing.
2000-12-07 21:23:32 +00:00
thorpej ac083d0b74 Use a pool cache for PDPs. This results in a 20% improvement in a
loop of 10000 fork/exit operations on a 400MHz Celeron.
2000-12-07 20:19:05 +00:00
jdolecek ce6253238c convert to use genassym.cf & genassym.sh, as other ports do 2000-12-07 17:51:06 +00:00
jdolecek 101ce19db1 generate dependencies for assym.h for make depend, fix dependency
for maxusers (make assym.h depend on Makefile)
2000-12-07 17:32:33 +00:00
thorpej 0abaa8b70d Nothing calls pmap_release() except for pmap_destroy(). Merge the two. 2000-12-07 17:12:21 +00:00
thorpej b4b01fe8e6 Nothing calls pmap_pinit() except for pmap_create(), so merge the two. 2000-12-07 17:09:26 +00:00
toddpw 6b0841e32b Fix PR port-mac68k/11343 2000-12-07 10:57:17 +00:00
kleink 9cee15bd12 In the ELF toolchain, use __mcount instead of mcount. 2000-12-07 10:14:08 +00:00
scw 3f7cfb70ef Add "options COMPAT_AOUT_M68K". 2000-12-07 08:40:06 +00:00
thorpej 5c7e0ada43 Use a pool cache for L1 PT pages. When we can allocate a cached,
constructed L1 PT page, this saves us from having to copy the kernel
L1 PTEs into the user L1 PT page at fork time (it's already set up).

A simple test shows a 1 second improvement of a rapid fork/exit operation
10000 times on a 533MHz 21164A (12s to 11s).
2000-12-07 05:59:07 +00:00
matt f7b27589e3 Enable VS4000/90 SCSI controller in INSTALL kernel. 2000-12-07 01:24:25 +00:00
eeh 873101cd21 Fix a bug in rwindow_save() that always wrote out window 0 in 64-bit
code and caused problems with ksh.
2000-12-07 01:05:55 +00:00
eeh 297dba1163 Add a call to db_esp() and make `mach phys /u' read user addresses. 2000-12-07 01:03:17 +00:00
eeh 660d1fc6c7 Fixup calculating where fpstate should be saved in the signal trampoline
code so it doesn't overwrite something important like the registers.
2000-12-07 00:59:42 +00:00
eeh a5a8c50c48 Initialize pcb_lastcall so db_dump_pcb() will not bomb on non-DEBUG kernels. 2000-12-07 00:53:29 +00:00
matt a8ea1009e7 Add ThinkPad 820 audio driver (attaches but does not yet work). 2000-12-06 23:42:34 +00:00
is 7223efb0b9 Make this new-GAS ready. Code by Steve Woodford. 2000-12-06 21:31:05 +00:00
chs 4fa4734937 go back to the first version of the pte/pde dance now that kvtopte()
has been changed to consisently return a pointer into the recursive
page table mapping.
2000-12-06 03:20:35 +00:00
chs 2a95fc3517 in kvtopte(), return the mapping of the pde in the recursive page-table
mapping space rather than the mapping in the kernel address space.
2000-12-06 03:13:47 +00:00
simonb 7ca0abc4db Use 'make print-objdir' to get obj directory instead of guessing. 2000-12-06 02:35:19 +00:00
mrg 703ec39a02 fix warnings in DEBUG & DIAGNSTIC code. 2000-12-06 01:47:49 +00:00
scw ac80517816 Add some #defines for offsets into the bugargs structure, and make the
register names usable within assembly code.
2000-12-05 21:57:13 +00:00
scw 86c7dac956 Replace the startup C code with assembler, which avoids having to
explicitly tell the compiler what registers the Bug args come in on.
2000-12-05 21:54:33 +00:00
scw 7da5cde117 bootxx doesn't need the code relocating stub linked in. 2000-12-05 21:51:38 +00:00
scottr 7fdcf44432 Don't reference a zs-specific variable unless NZSC is not zero.
Fixes PR 11566.
2000-12-05 21:38:38 +00:00
scw 634dc65636 Backout the last change; I'll deal with it another way. 2000-12-05 19:54:09 +00:00
scw 1f9f7cbe53 UPAGES -> 2 as recommended by Chuck Silvers. 2000-12-05 18:46:10 +00:00
scw 2ec144518f Add loadfile_machdep.h to list of installed machine headers. 2000-12-05 18:42:18 +00:00
scw 37f5782c0a Update pm_stats.resident_count when entering pages in the kernel pmap. 2000-12-05 16:07:39 +00:00
jdolecek 94e024dc14 constify 2000-12-05 10:45:09 +00:00
jdolecek dae7d6d77c actually, pte is normally in user address space, but can also be in kernel
address space for LARGEPAGES kernel; to handle both, do the same dance
as for loc
2000-12-05 10:26:12 +00:00
mycroft e4ae5a1406 In mem_regions(), deal with the case of a run of consecutive holes.
Now the cube works with the memory in any order.
2000-12-05 05:16:00 +00:00
briggs e7a6bcd6eb Add the DrHw Apple 24AC "Boogie" video card.
Thanks to Lucas Lay <segfault@mac.com> for digging it up.
2000-12-05 05:05:52 +00:00
briggs 3503f0999b Add defines for:
Apple WGS SCSI / cache card
	FWB JackHammer SCSI card
2000-12-05 05:02:36 +00:00
bjh21 2caf09a602 regen 2000-12-05 00:44:21 +00:00
bjh21 1bdf317d96 Add the 16bit podules I got from abs (ColourCard, Centronics, sampler, MIDI). 2000-12-05 00:43:55 +00:00
scw bfcd71c79c Clean up the build process to ensure libsa/libbug are built
before linking the bootloaders.
2000-12-04 21:25:57 +00:00
scw 349445391c Make this work with the ELF tape bootloader. 2000-12-04 21:24:34 +00:00
fvdl 3de7a35dc2 More cast / format cleanup to make this compile cleanly in 32bit mode. 2000-12-04 20:40:07 +00:00
fvdl b5f5b707ea Make gcc happy about casts. 2000-12-04 20:33:12 +00:00
scw 5a17a935bc Declare `start' in addition to `_start'. 2000-12-04 20:31:16 +00:00
fvdl 95ed1f82c4 Make gcc like a cast. 2000-12-04 20:29:34 +00:00
fvdl 2ccdc61f62 Avoid (safe) cast warnings. 2000-12-04 20:19:49 +00:00
fvdl 2c81c82473 Comment out caxsa, it's not used. Avoids 32 bit compile errors. 2000-12-04 20:14:05 +00:00
fvdl 42efb3639a Avoid a warning in bus_dmamap_load_uio by inserting a 'return 0' for
good measure in this unimplemented function.
2000-12-04 20:12:10 +00:00
scw 269a30a733 s/a6/fp/ again... 2000-12-04 18:48:18 +00:00
scw e267f2466b Add support for ELF boot blocks. 2000-12-04 18:44:51 +00:00
scw b29bcb645b The LOAD_TEXTA flag is required when loading a.out kernels.
Also add some non-standalone versions for the benefit of installboot(8).
2000-12-04 18:41:51 +00:00
scw c28723715c Prefix the register names with `%'. 2000-12-04 18:40:05 +00:00
scw d0da91f9e2 Use -fomit-frame-pointer when compiling bugcrt.c; a6 needs to be reserved
for Bug arguments.
2000-12-04 18:35:16 +00:00
eeh c5080ee564 Fix uninitialized variable bug and code cleanup. 2000-12-04 17:26:41 +00:00
tsubai 1b4a9cb335 Move INTSTK and SPILLSTK definitions to locore.[Ss] to allow allocation of
them in early startup.
2000-12-04 17:05:50 +00:00
fvdl 2fb588e51d Warning police. Mostly useless format warnings. Switch Makefile for
kernel compiles to the warning flags that other ports also use.
2000-12-04 16:01:18 +00:00
mrg 247f2c42d7 Remove __BROKEN_CONFIG_UNIT_USAGE. (sync with sparc) 2000-12-04 09:56:56 +00:00
scottr fc6d3c5f48 Unmap the valkyrie register space when we're finished with it in
the match function.  It's not like we can save that state for later,
and we don't use it anyway.
2000-12-04 06:25:19 +00:00
scottr b21b6272fa Fix PR 11000: The esp driver needs two longwords in DAFB register space to
implement pseudo-DMA transfers with the SCSI controller.  This caused our
match to fail when we couldn't map the entire DAFB register/control space
for our own use.  Instead, we map only (about) what we will need in two
separate regions.

As a consequence we no longer do Turbo SCSI configuration here; indeed, it
may have caused us trouble later on if we actually changed the values
stored in those registers in the esp driver.
2000-12-04 06:23:36 +00:00
mrg ce0e1dea34 sync relocs with sparc64. 2000-12-04 01:49:34 +00:00
mrg ac9988aef0 remove duplicate function prototypes. 2000-12-04 01:39:04 +00:00
mrg 3806c27f34 sync a comment with sparc64/include/types.h 2000-12-04 01:33:36 +00:00
simonb a8a26dd42a Remove __BROKEN_CONFIG_UNIT_USAGE, not needed on pmax. 2000-12-03 23:00:42 +00:00
scw 9fc2cc70dc Include the a.out m68k compatibility module. 2000-12-03 15:40:06 +00:00
scw 2e68384b0c Back out the previous change after discussion with thorpej and cgd. 2000-12-03 15:38:30 +00:00
scw 53323bf36d Revert the previous change, after discussion with thorpej and cgd. 2000-12-03 15:37:46 +00:00
fvdl a21f36eeb2 Make softintr_establish prototype match other ports, avoiding compile
warnings.
2000-12-03 14:49:50 +00:00
fvdl 1f04bc7933 TRAPWIN is defined by default in trap.c, don't define it here. 2000-12-03 14:49:14 +00:00
takemura 1021bf4bf1 Change hf_baseaddr usage. Now it potins frame buffer start address instead
of hf_baseadd + hf_offset. You should use hf_baseaddr only in kernel and
you should use hf_offset only with mmap system call from userland.
2000-12-03 13:43:40 +00:00
takemura e7c346ccba - CRT control exists only in GC01R.
- add some symbols.
 - fix some typo.
2000-12-03 13:24:33 +00:00
ad f237da87bf Hook the iop device in. 2000-12-03 13:19:07 +00:00
takemura 94e15f37c8 Cancel previous change and revert to revision 1.35.
You can't pmap_steal_memory to allocate proc0 bacase physical memory
detection calls badaddr which needs proc0.
2000-12-03 12:57:37 +00:00
takemura e678d47b5e Add #UVMHIST line (commented out). 2000-12-03 12:29:28 +00:00
matt dc80dfbf5d Use shared Makefile.mips 2000-12-03 07:59:47 +00:00
matt cc1a776969 Add DEFGP/CROSSDIR for hpcmips. 2000-12-03 07:55:12 +00:00
matt b0ffdfd51c Use shared Makefile.mips 2000-12-03 07:46:43 +00:00
matt b927e12eee Remove redundant depend of fp.S 2000-12-03 07:44:43 +00:00
simonb 26ca0704e4 Use shared Makefile.mips 2000-12-03 07:39:34 +00:00
matt 8bddbd2266 Include FP support if NOFPU is *NOT* defined. 2000-12-03 07:21:50 +00:00
matt 825cb46de5 Revert back to a machinearch (really cputype) of mips. Put ENDIAN back. 2000-12-03 07:05:21 +00:00
matt c1dbeee6d0 Deal with lack of floating point on hpcmips, etc. 2000-12-03 06:04:50 +00:00
matt 866f93d61f Change arch from mips to mipsel/mipseb as appropriate. Nuke the ENDIAN
makeoption.  Key off MACHINE_ARCH for adding -EB/-EL to CFLAGS/AFLAGS/LD/
LINKFLAGS.
2000-12-03 05:30:31 +00:00
matt ecf6f5a91f Add a POST_STRIP_SYSTEM_LD_FLAGS for mipsco and pmax. 2000-12-03 04:52:38 +00:00
matt a0a88e0a71 Use shared Makefile.mips 2000-12-03 04:51:26 +00:00
matt bd338a518c Deal with -Wstrict-prototypes -Wmissing-prototypes 2000-12-03 04:51:04 +00:00
tsutsui e89ff0051b Add some ELF stuff. (not tested)
XXX should use MI loadfile(). (see sparc)
2000-12-03 03:35:40 +00:00
tsutsui b00d07faa9 Enable LOAD_HDR and COUNT_HDR. (would be required on ELF) 2000-12-03 02:56:25 +00:00
matt 5e67131b91 Start using a Makefile.mips. Use a combination of makeoptions and
Makefile.sgimips.inc which has sgimips specific stuff.
2000-12-03 02:07:04 +00:00
matt c77ccc45d8 Make this stuff compile with -wstrict-prototpes -wmissing-prototypes.
More use of prototypes inside includes should be done.
2000-12-03 01:42:29 +00:00
matt ab27bbe9b2 Need to add -EB for ASFLAGS as well. Don't use -EB in LINKFLAGS but add
-EB to LD so that libkern/libcompat get it as well.
2000-12-02 20:27:37 +00:00
jdolecek 2b0dca1878 db_disasm(): pte is in kernel address space, so use kvtopte() to get pde,
otherwise it would trip over KASSERT() in vtopte() and cycle
2000-12-02 19:34:54 +00:00
scw 57b29e6754 Fix symbol table loading. 2000-12-02 17:28:08 +00:00
ragge f8a6a4ce46 Add lkkbd/lkms/fonts, remove lkc. 2000-12-02 17:18:54 +00:00
ragge 2f2f3de2ed Recent lkkbd/lkms/lkc changes. 2000-12-02 17:15:37 +00:00
ragge cfcd7e9e98 Use lkkbd. Add hardware cursor support. Use wsfont fonts instead of the
old QDSS fonts (support not finished). KNF cleanup.
2000-12-02 17:14:00 +00:00
ragge 3321363123 Remove lkc, add lkkbd/lkms support. 2000-12-02 17:09:43 +00:00
ragge a81d92ef69 Add prototype. 2000-12-02 17:08:32 +00:00
ragge 37bfa1d6e8 Add fusword() + a MP change. 2000-12-02 17:07:55 +00:00
ragge e392e575c1 lkc is gone, long live wskbd. 2000-12-02 17:07:27 +00:00
scw 6de7ccd2d3 On exit from syscalls, don't trash %A0 if the process is
using the COMPAT_AOUT_M68K emulation package.
2000-12-02 17:00:46 +00:00
jdolecek e9b63338d7 add prototype for ibcs2_syscall() 2000-12-02 16:13:34 +00:00
jdolecek 65203b4ec6 if IBCS2_MACHDEP_HAS_SEPARATED_SYSCALL is defined, put ibcs2_syscall to
emul_ibcs2
define IBCS2_MACHDEP_HAS_SEPARATED_SYSCALL in i386 ibcs2_machdep.h
2000-12-02 16:09:44 +00:00
jdolecek 6719ee1cf7 as discussed on tech-kern, put linux and ibcs2 syscall code to separate
files and change syscall() to call p->p_emul->e_syscall() if it's not NULL
2000-12-02 16:03:23 +00:00
scw e4326b372a Set things up so that DDB can get to the symbol table in ELF kernels. 2000-12-02 13:57:05 +00:00
scw 66a84140b8 Use "EMUL_HAS_SYS___syscall" instead of checking p->p_emul.
Removes dependency on COMPAT_AOUT_M68K.
2000-12-02 13:45:14 +00:00
sato 0f6c05e8d7 - polling battery voltage value from A/D port.
currently polling only.
  if verbose mode, kernel print A/D raw value every polling.
2000-12-02 08:35:45 +00:00
matt 7168049e66 Add -EB to make building kernel on LE systems easier. 2000-12-02 06:23:48 +00:00
matt 305bef7250 Cleanup/fixup gten support. Add TNF copyright (opps). This now outputs
text correctly.  There is no colormap support (e.g. the mechanisms are in
place but does yet talk to the hardware).
2000-12-02 05:46:46 +00:00
mrg 3da40e83e7 const poison to avoid a warning. 2000-12-02 03:57:26 +00:00
matt 0b76f4efdf Add support for the IBM ThinkPad 820 G10 display (which is a WD90C24A behind
a funky PCI-VLBUS bridge).
2000-12-01 21:54:01 +00:00
jdolecek f3d1c08b2a check emul flags for EMUL_HAS_SYS___syscall instead of comparing
callp to sysent; the COMPAT_AOUT hack is gone
2000-12-01 19:50:17 +00:00
kei 4389b3cbed fix a typo in the printf message. 2000-12-01 18:09:01 +00:00
kei b134a87a76 fix a typo in comment. remove a whitespace at the end of line. 2000-12-01 18:07:11 +00:00
tsutsui a8fdbdec1c Remove unused pcbb() macro. 2000-12-01 17:57:43 +00:00
eeh bf3bbac849 Don't allow pmap_collect() to run on the kernel pmap since it will
undo the work of pmap_growkernel().
2000-12-01 17:17:29 +00:00
bjh21 cb5273b547 First attempt at an EtherH driver. Can just about transmit and receive
packets.  Interrupt enabling is left to the RISC OS driver, medium selection
is untested and it's hard-wired to the MAC address of my card.  Not really
for production use.
2000-12-01 14:28:36 +00:00
soren ff0f7c1ab4 No longer used. 2000-12-01 07:56:18 +00:00
soren 2cc519bba5 <pc/display.h> has been moved to <dev/ic/pcdisplay.h>. 2000-12-01 07:55:10 +00:00
scw 97490c9997 Add __attribute__((__packed__)) to cpu_disklabel to get around
the ELF padding/alignment constraints.
2000-12-01 00:02:22 +00:00
scw 75f2f8f242 Delete an extraneous underscore in the last commit. 2000-11-30 23:47:45 +00:00
scw bd8955b9b6 Only try to attach those devices which have been configured
in the kernel config file.
2000-11-30 22:54:31 +00:00
scw c4a189ad74 Print some more details of the memory managed by each ASIC. 2000-11-30 22:51:35 +00:00
scw ba98135ea8 Add EXEC_ELF32 2000-11-30 22:31:27 +00:00
scw 7051df32f5 Support booting an ELF kernel, plus numerous tweaks due to
the gas.new/ELF transition.
2000-11-30 22:26:26 +00:00
scw 9121962f0e Copy the syscall return value into A0, as per the SVR4 ABI.
Also prepare for COMPAT_AOUT_M68K.
2000-11-30 21:29:11 +00:00
scw d3251e5074 Prepare to switch mvme68k bootloader over to the MI loadfile(). 2000-11-30 21:20:43 +00:00
scw 7248616dee Ditch an extra % in a register prefix, and s/a6/fp/ 2000-11-30 21:18:07 +00:00
scw 71ca01981e Prepare for the m68k ELF transition:
o Add register prefixes for the benefit of gas.new
 o Wrap global symbols in the m68k/asm.h macros
 o Fix `#' comments so the source can be run through the C pre-processor
2000-11-30 21:00:51 +00:00
bjh21 9307dc5373 Reduce default UBC_NWINS to save precious KVM. 2000-11-30 20:59:36 +00:00
bjh21 32b19479ca Drastically reduce PAGER_MAP_SIZE so we don't run out of KVM so soon. 2000-11-30 12:16:00 +00:00
nisimura 3077a68aa3 Reduce UPAGES from 3 to 2. 2000-11-30 02:55:50 +00:00
jdolecek 73f3cd8c7e LKMify 2000-11-29 21:51:49 +00:00
jdolecek 7924882d2e remove unneded opt_compat_osf1.h stuff 2000-11-29 21:50:49 +00:00
tsubai e4bfefe7bd Make spl functions no-inline. This saves size and even it runs faster on
some systems.
2000-11-29 17:55:52 +00:00
minoura 0bbc767215 Adjust the ramdisk size. 2000-11-29 14:45:27 +00:00
jdolecek 9cdf00b4bb remove rules for genassym.c, it's no longer pertinent 2000-11-29 13:02:51 +00:00
jdolecek 0e8ae0e54a convert to use common genassym.cf 2000-11-29 12:55:11 +00:00
tsutsui 7dc077e6f5 Change UPAGES from 3 to 2. (sync with hp300) 2000-11-29 12:32:06 +00:00
aymeric 5deecf29d2 Fall back to previous memory segments detection code if BIOS reports no
correct memory segment.
This prevents some systems from losing with `can't find end of memory'.
Discussed with Bill Sommerfeld.
2000-11-29 09:56:02 +00:00
scw 614e494d9e Add register prefixes. 2000-11-29 09:18:32 +00:00
scw 930411f925 Missed a couple of register prefixes... 2000-11-29 09:11:53 +00:00
scw fecb49d172 Add register prefixes. 2000-11-29 09:09:39 +00:00
thorpej 5f3a256833 Allocate the DMA windows out of the PCI memory extent map after
DMA is initialized.
2000-11-29 06:30:09 +00:00
thorpej 96294f7b26 Do the additional PCI memory initialization after configuring DMA. 2000-11-29 06:29:10 +00:00
thorpej 8f20972db2 Revert previous -- we'll do it differently. 2000-11-29 06:21:12 +00:00
thorpej d615083897 The AMD 751 doesn't have DMA windows, so allocate the RAM out of the
PCI memory extent map.  Bad things will happen if we try to assign
a device where RAM is mapped into PCI space.
2000-11-29 05:56:49 +00:00
thorpej 8ebabb1aae Increase the number of static extent descriptors from 8 to 16,
and add a means for calling a chip-specific init hook.
2000-11-29 05:53:29 +00:00
augustss f9450fa993 Put neo* in alphabetical position. 2000-11-28 19:44:07 +00:00
thorpej 3f877e127e Add auich(4) and neo(4). 2000-11-28 05:18:42 +00:00
minoura 2eabb2676b We do not use INSTALL_SMALL any more. 2000-11-28 03:18:18 +00:00
jdolecek f6a7e12165 split linux signal code off locore.s 2000-11-27 22:29:26 +00:00
matt 37ca010efd Add generic ISA floppy support 2000-11-27 21:50:13 +00:00
jdolecek 67e67ac7dc Replace the (no longer working) check for tp->t_line == 0 with
tp->t_linesw == linesw[0]. Hopefully this is correct.
2000-11-27 18:39:04 +00:00
matt 5cbf7c7a23 No longer needed. We use MI version now. 2000-11-27 17:04:13 +00:00
matt a23d349584 Use MI md_root.c 2000-11-27 17:03:12 +00:00
tsutsui 6ca08c284e More fixes for linesw changes. 2000-11-27 15:28:41 +00:00
tsubai 0562490a63 Change base address to 0x800000. 2000-11-27 14:41:47 +00:00
pk cd9bcb98dc Undo most of rev 1.94 to make a.out emulation work again. 2000-11-27 13:31:18 +00:00
tsutsui 936191481d Prepare cpu_exec_ecoff_probe() for mips which just returns ENOEXEC,
as per discussion on tech-kern.
2000-11-27 13:25:24 +00:00
tsubai e5c94432d1 Reduce PAGER_MAP_SIZE to 4MB. 2000-11-27 11:37:33 +00:00
nisimura cdc7cdbcde Back out the change of the way to grab proc0's USPACE. It produces
kernel lock up in mach_init() by a reason unknown to me.
2000-11-27 08:57:08 +00:00
soren 66864e1f05 Removed increased BUFCACHE/BUFPAGES. 2000-11-27 08:55:41 +00:00
soren 52e9098c1d arch/mips is used now. 2000-11-27 08:54:02 +00:00
matt 70e44cf083 Rework bus_space to conform the PReP I/O & MEM limits. Add a few debugging
printfs concerning interrupts.
2000-11-27 08:53:54 +00:00
chs aeda8d3b77 Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00
chs c29a1b4461 allow ports to override PAGER_MAP_SIZE in machine/vmparam.h.
some ports (such as arm32) don't have enough KVA for the
increased default size once the UBC mapping is also present.
2000-11-27 08:19:50 +00:00
soren a5dad0db13 Correct a few cpu/fpu ids. 2000-11-27 06:38:54 +00:00
nisimura fdfe3556de Use only one TLB entry to wire down process's USPACE since it's
now guranteed to be aligned on 8KB boundary in kernel virutal
address.  Retain one more free TLB entry.
2000-11-27 06:37:32 +00:00
soren d800267698 Forgot to commit bounds_check_with_label(). 2000-11-27 06:00:09 +00:00
soren 38a44e0d8f Consistently use pmap_steal_memory() to allocate USPACE. 2000-11-27 05:57:25 +00:00
nisimura 05960017b2 Fix an typo by cut'paste work in the previous change. 2000-11-27 05:17:06 +00:00
nisimura f6562a41a3 Use pmap_steal_memory() to glab proc0's USPACE. 2000-11-27 05:12:32 +00:00
jdolecek cee3939088 comment out entries accidentaly committed together with previous
change
2000-11-26 20:48:39 +00:00
bjh21 eb0dc305da Insert clock low after ack bit. 2000-11-26 18:53:12 +00:00
bjh21 f801b80192 Zero-length reads seem to confuse the chip, so don't do that. 2000-11-26 18:12:36 +00:00
ad 57ea462da2 lsu -> ld, by popular request. 2000-11-26 17:44:02 +00:00
chs 63d8906bac const poisoning. 2000-11-26 15:13:50 +00:00
bjh21 2906c5057a Regen. 2000-11-26 15:04:22 +00:00
bjh21 22b88b3d3e Add HCCS IDE interface, from Kjetil B. Thomassen <kjetil@thomassen.priv.no>. 2000-11-26 15:03:25 +00:00
jdolecek c969c9196c make this usable also standalone 2000-11-26 12:02:16 +00:00
jdolecek 17a9fd0da5 split m68k SunOS and SVR4-specific sigcode.s code to sunos_sigcode.s
and svr4_sigcode.s respectively
adjust individual m68k port's locore.s to include new sigcode files if
appropriate
2000-11-26 11:47:23 +00:00
jdolecek bc435e5551 rename COMPAT_locore.s to COMPAT_sigcode.s - that is more suitable name for it
make the files compilable within LKM
2000-11-26 11:18:20 +00:00
takemura 3c9d9276dc Add new powerhook argument values, PWR_SOFTSUSPEND, PWR_SOFTSTANDBY and
PWR_SOFTRESUME. Apm calls powerhook with the values in normal interrupt
priority level while others are protected with splhigh().
2000-11-26 11:08:57 +00:00
takemura 5692823cae You can map mq200 registers as well as frame buffer.
(This little change has already contains release 1.5 branch by my mistake)
2000-11-26 08:33:43 +00:00
sato b45e183988 hardware accelarate function parameters turn to dot base. 2000-11-26 06:21:16 +00:00
thorpej 484693d993 `babylon' no longer exists. 2000-11-26 04:59:03 +00:00
thorpej dce417005a Kernel config file for basil.shagadelic.org, my API UP1000 devel machine. 2000-11-26 04:58:07 +00:00
itojun c40695f5ad a complete kernel for wildlab LAMB, http://www.wildlab.com/. 2000-11-26 03:28:41 +00:00
scw a643cf07a5 Add the memory controller ASIC driver. 2000-11-25 21:46:42 +00:00
scw 46d0d060fd Oops, missed a trailing comma ... 2000-11-25 21:06:12 +00:00
scw eff5b700a8 Enable compatibility for earlier releases. 2000-11-25 20:35:32 +00:00
scw ee58c485bf Add CD9660, plus some general cleanup. 2000-11-25 19:33:39 +00:00
scw 2aa72fcec2 Include the cd9660 filesystem and cd(4). 2000-11-25 19:21:50 +00:00
scw 5529847b99 Don't base this on the GENERIC config file; there's too much
unnecessary bloat in it for an installation kernel.
2000-11-25 19:18:46 +00:00
scw 636c4f5c12 G/C some long-obsolete functions. 2000-11-25 18:49:59 +00:00
bjh21 70562420ce Support multiple files on the command line (they're catted together).
Ditch a.out support while we're here (to save updating it).
2000-11-25 18:30:23 +00:00
tsubai 2fb7179aaf Add KERNEL_LOCK (et al.) to run MULTIPROCESSOR kernel on a single cpu system. 2000-11-25 15:49:43 +00:00
bjh21 98253a5467 It seems that all versions of BBC BASIC V can load a text file specified on
the command line, so we don't need to tokenize it first.

This makes it less than clear what file type BBBB should have, so let's not
make an issue of it.
2000-11-25 13:32:51 +00:00
scw 73e60771ab Fix the code which probes the memory controller ASICs. We can now
deal with the 2nd one not being present.
2000-11-25 11:25:07 +00:00
nisimura 554a1bfcc6 Update and clarify the comment description of how disklabel is managed. 2000-11-25 07:58:07 +00:00
minoura 9f9181afde Use objcopy instead of dd. This will work after we'll switch to ELF.
Using command directly breaks cross compilation.  Use macro instead.
2000-11-25 05:27:19 +00:00
tsutsui add41a3fee Make sure to return PROM prompt even if loading kernel fails halfway. 2000-11-25 04:42:06 +00:00
matt f80f1b8624 Preliminary AltiVec support. 2000-11-25 03:03:35 +00:00
matt 4c6aaf87d2 Add placeholder for AltiVec support file. 2000-11-25 03:01:40 +00:00
matt 6d256b4cca Preliminary AltiVec support 2000-11-25 03:00:48 +00:00
matt 6b0877113f Some preliminary ALTIVEC support. 2000-11-25 02:59:34 +00:00
chs b5142d6841 increase PAGER_MAP_SIZE to 16MB and move it to uvm_pager.h
since the alpha and mips pmaps use it.
2000-11-24 22:41:38 +00:00
sato 446d4c8a9f delete not HPCFB_TVOPTIM codes. 2000-11-24 22:05:13 +00:00
sato bda86c3118 update experimental HPCFB_JUMP codes.
(but not completely yet)
2000-11-24 21:58:06 +00:00
tsubai 4e01e6de8b When fatal trap occurs, enter DDB with trapframe rather than just "Debugger()". 2000-11-24 21:49:06 +00:00
scw 2129dff0f7 The ramdisk now needs 1024 blocks. 2000-11-24 19:40:15 +00:00
scw bf5610e667 Some minor optimisations. 2000-11-24 14:49:44 +00:00
tsutsui 6d8f55d932 Use single_inst_b{set,clr}_b() macro defined in m68k/asm_single.h. 2000-11-24 14:08:14 +00:00
tsutsui 5ed7dadbfb Enable rnd and comment out CD9660. (no SCSI support on news1200 yet) 2000-11-24 13:05:31 +00:00
tsutsui be69cb38ee Add/enable COMPAT_SUNOS. It actually works on news68k. 2000-11-24 12:58:17 +00:00
tsutsui 500525029a PAGE_SIZE on sun3/sun3x is now constant;
Use uvmexp.pagesize itself for its initialization.
2000-11-24 11:57:45 +00:00
scw 55ecb0e64a `emul_sunos' is now declared in the appropriate header file. 2000-11-24 10:29:21 +00:00
scw dcd1f30fb8 First cut of a driver for the Memory Controller ASICs found
on mvme16x and mvme17x boards.
2000-11-24 09:42:09 +00:00
matt ca7a0ec817 Make this compile again. 2000-11-24 09:39:37 +00:00
scw 7d191ffe77 Revamp the bus_space(9) implementation:
. use a structure for the tag instead of an integer constant,
 . add bus_space_{peek,poke}_N() (and G/C `badaddr()'),
 . fix a few drivers which have dependencies on the implementation.
2000-11-24 09:36:40 +00:00
scw a70c48655b Add a bus_space_tag_t field to the mvmebus_softc structure and
initialise/use it in the ASIC-specific back-ends.
2000-11-24 09:27:42 +00:00
scw 06e91c089b Replace the inline C versions of bus_space_{read,write}_N() with
inline assembler. This generates significantly more efficient code,
and trims ~1KB off the size of an mvme68k GENERIC kernel...
2000-11-24 09:05:55 +00:00
scw 7bd36d34a1 Use the MI md_root.c. 2000-11-24 08:54:08 +00:00
minoura e6a960146a Use MI md_root.c. 2000-11-24 06:55:22 +00:00
chs fa19fe52db adjust the spinlock macros in the non-MULTIPROCESSOR, non-LOCKDEBUG case
so that gcc will think that static spinlock are used.
this allows us to remove the ugly conditionalization of
static spinlock declarations.
2000-11-24 03:59:07 +00:00
simonb f91f0ea65c Make this compile again (unterminated `#if' conditional). 2000-11-24 02:21:56 +00:00
chs bac6420b96 fix reversed keywords in previous commit. 2000-11-23 21:58:54 +00:00
chs c01c2504a2 examine the PDE in addition to the PTE when checking for valid mappings. 2000-11-23 21:44:52 +00:00
nisimura c2c8f26967 - Nuke xasc_ioasic.h and xasc_pmaz.h as no code uses the symbols they define.
- Hide #include <pmax/dev/device.h> for "pmax oldscsi" inside
  #if NRZ > 0 || NTZ > 0.
2000-11-23 09:44:14 +00:00
matt 1420862fba Add comments and AltiVec reg state. 2000-11-23 02:35:10 +00:00
msaitoh 007d059977 - fix \n conversion from \n\r to \r\n
- cleanup
2000-11-22 21:14:25 +00:00
msaitoh d077acc4e9 const struct sysent 2000-11-22 21:12:28 +00:00
wiz b03725b863 Change OF_nextprop to match prototype change to void *
(Please don't change prototypes without changing the corresponding
functions!)
2000-11-22 18:18:32 +00:00
jdolecek 818062390e Intel recommends to print cpu serial number as six dash-separated nibbles
(XXXX-XXXX-XXXX-XXXX-XXXX-XXXX), make it so
2000-11-22 16:41:56 +00:00
nonaka 41b0daf516 - Add some PCMCIA devices.
- Commented out USB devices.
2000-11-22 16:15:44 +00:00
nonaka ea05f33502 Set intrtype[irq] if interrupt type is IST_NONE. 2000-11-22 16:07:16 +00:00
tsubai 1931e71852 Constify struct sysent. 2000-11-22 14:00:46 +00:00
leo f4420dcb03 Revert previous change. I cannot see why this ever worked... Pointed out
by Steve Woodford.
2000-11-22 12:39:03 +00:00
tsutsui 4b61041326 e_sysent in struct emul has been const'fied. 2000-11-22 11:47:17 +00:00
matt 03b44427da Make assym.h be generated again
Add pcmcia support to files.prep
Add isa_intr_alloc support.
2000-11-22 08:55:35 +00:00
thorpej 534e7d4454 Several changes, which get us generally further along with
multiprocessor support:
- Implement MP-safe halt.
- Make the FPU saving code more like Bill's on the i386 MP branch.
  XXX This code will no doubt be revisited again.
- Pass the cpu_info and trapframe to IPI handlers, saving some work
  in the handlers themselves, and also making it possible for the
  "pause" handler to reference register state for DDB.
- Add "machine cpu" to DDB, making it possible to reference other
  CPUs registers (and thus get e.g. a traceback) from whichever
  CPU is actually running the debugger.
- Garbage-collect "machine halt" and "machine reboot" DDB commands.
  They don't have a prayer of working properly in multiprocessor
  kernels, and didn't really work all that well in uniprocessor kernels.
2000-11-22 08:39:46 +00:00
thorpej 6cbdf24c45 Add a debugging printf, commented out by default. 2000-11-22 07:44:01 +00:00
enami 9c0026f5fa s/char \*/const &/ so that this file compiles again. 2000-11-22 04:28:13 +00:00
itojun 1c06733c6b constify 2000-11-22 03:54:01 +00:00
thorpej 7231516137 Just access the trapframe directly for DDB registers. 2000-11-22 02:25:52 +00:00
thorpej 7f6303947a Restructure the way registers are presented to DDB, to make it
easier to support reading registers from other CPUs.
2000-11-22 02:03:48 +00:00
bjh21 564a044dcb Using bsd.man.mk looked silly without a man page. Use bsd.prog.mk without
PROG instead.
2000-11-22 00:36:22 +00:00
bjh21 fc955e1104 Move BBBB out of the kernel tree so other architectures can see it. 2000-11-22 00:32:53 +00:00
bjh21 c4eb6c6325 Rudimentary manual page for BBBB. 2000-11-22 00:18:47 +00:00
bjh21 986c78ced4 New mechanism for building the tokenised version of BBBB under NetBSD. This
saves us having to keep a uuencoded version around.
2000-11-21 23:47:37 +00:00
bjh21 99899665e8 Move of BBBB to a more sensible location.
Look in sys/arch/arm26/boot/BBBB,fd1 for old commit messages.
2000-11-21 23:44:24 +00:00
tsutsui 161004f8c3 s/struct const sysent/const struct sysent/
(BTW, luna68k was missed in emul/execsw changes?)
2000-11-21 23:19:42 +00:00
scw f86349723d Put the call to mvme68k_init() back where it was originally. 2000-11-21 22:08:04 +00:00
jdolecek 09c6390523 make trap_type[] const 2000-11-21 21:27:04 +00:00
jdolecek 3323852a95 put compat-specific locore code to separate *_locore.s files 2000-11-21 21:13:23 +00:00
chs 0ac52aaf1d remove MD functions for printing vnodes and buffers since there are
MI versions now.
2000-11-21 16:34:52 +00:00
ad 20ef6ae40a Fix netbooting on the 2100/3100. Partially from Thilo Manske
<Thilo.Manske@HEH.Uni-Oldenburg.DE> in PR 11212.
2000-11-21 14:21:36 +00:00
ad bd4ff2a804 PMIN vs. PMAX in boot message. Pointed out by Thilo Manske
<Thilo.Manske@HEH.Uni-Oldenburg.DE> in PR 11212.
2000-11-21 14:19:10 +00:00
tsutsui 2c7e91a09e Define proper macros for FP frame offsets rather than magic numbers. 2000-11-21 13:54:13 +00:00
tsutsui 20494c8f05 Pull in dev/i2o/files.i2o, which is required by files.pci. 2000-11-21 13:34:57 +00:00
scw f33cb83f53 Call zs_set_speed() to calculate the initial timing constants. 2000-11-21 11:41:37 +00:00
chs c588bbbe76 add a missing newline in a printf(). 2000-11-21 08:14:17 +00:00
chs 7af6378fca two changes to arm32 fault handling:
- when pcb_onfault is set, allow UVM to attempt to resolve permission faults
   as well as translation faults (rather than immediately invoking the
   onfault handler for permission faults).  this is needed for UBC since
   it will be normal for uiomove() to fault on read-only mappings which
   will be made writable by the pager.
 - clear pcb_onfault before calling uvm_fault() and restore it afterward.
   if the fault handler generates a pagefault, we'd like to panic rather
   than invoking the onfault handler.
2000-11-21 06:30:05 +00:00
chs 197f7aae9c two changes to pmap_enter():
- allow entry of the same mapping that's already there.
   this can happen with UBC.
 - if PMAP_CANFAIL, return failure rather than sleeping
   when we fail to allocate a ptp.
2000-11-21 06:14:40 +00:00
chs 2116915a30 eliminate TRUNC_PAGE() and ROUND_PAGE() in favor of their
lowercase counterparts.  also, a little misc cleanup.
2000-11-21 05:49:07 +00:00
soren 4927de268a Adjust for p_emul change. 2000-11-21 02:26:07 +00:00
jdolecek baae0324b9 restructure struct emul and execsw, in preparation to make emulations LKMable:
* move all exec-type specific information from struct emul to execsw[] and
  provide single struct emul per emulation
* elf:
  - kern/exec_elf32.c:probe_funcs[] is gone, execsw[] how has one entry
    per emulation and contains pointer to respective probe function
  - interp is allocated via MALLOC() rather than on stack
  - elf_args structure is allocated via MALLOC() rather than malloc()
* ecoff: the per-emulation hooks moved from alpha and mips specific code
  to OSF1 and Ultrix compat code as appropriate, execsw[] has one entry per
  emulation supporting ecoff with appropriate probe function
* the makecmds/probe functions don't set emulation, pointer to emulation is
  part of appropriate execsw[] entry
* constify couple of structures
2000-11-21 00:37:49 +00:00
soren 1bbc3bd9b5 Same as sys/dev/md_root.c. 2000-11-21 00:18:03 +00:00
soren 0bb338521a Use dev/md_root.c. 2000-11-21 00:17:33 +00:00
soren d1b07f4fee Same as sys/dev/md_root.c. 2000-11-21 00:17:08 +00:00
soren 36ae7c2b02 Use dev/md_root.c. 2000-11-21 00:16:33 +00:00
soren 263f913967 Remove obsolete comment. 2000-11-21 00:15:20 +00:00
thorpej f595d8e741 Ooops, do the last only if MULTIPROCESSOR. 2000-11-20 21:18:07 +00:00
thorpej 13c94ca56c We've fixed enough bugs that we can actually acquire the scheduler
lock, jump into the idle loop, and run user code!  Yippee!
2000-11-20 20:40:17 +00:00
thorpej b37faa6ca5 Protect microtime_slock appropriately. 2000-11-20 20:37:52 +00:00
thorpej e12f731db5 On the Alpha, interprocessor interrupts come in at the same priority
as normal device interrupts.  Because of this, we won't get IPIs while
servicing such interrupts.  This can lead to the following deadlock
scenario as reported by Bill Sommerfeld:
- Process runs on cpu1, but has FP state on cpu0.
- Process executes FP-using insn, causing an FP trap, which causes
  the kernel lock to be acquired.
- At roughly the same time, cpu0 receives a device interrupt, and attempts
  to acquire the kernel lock, which blocks since cpu1 already has it.
- cpu1 sends cpu0 a SYNCH FPU IPI, and waits for cpu0 to release its
  FP state.
- Since cpu0 cannot notice the IPI until it has processed the device
  interrupt, which it cannot do because it cannot acquire the kernel
  lock, we have deadlock.

Solve the problem by adding a spinlock interlock release hook which
checks for pending IPIs and processes them.

Idea from Bill Sommerfeld.
2000-11-20 20:17:13 +00:00
jdolecek 0630488eda fix typo 2000-11-20 20:07:36 +00:00
jdolecek 3b15e411a3 add moxa0 at isa entry, marked as experimental
This was not added also to other config files primarily because the
driver is not properly tested yet; this entry is primarily meant as an example
for those brave souls who want to try moxa.
2000-11-20 19:53:43 +00:00
scw b6f0a678dd Add support for the m68060-based machines: MVME-172 and MVME-177.
CPU support taken from a combination of NetBSD/amiga and NetBSD/x68k.

At this time, MVME-172 works but MVME-177 is untested. Since the '177
is otherwise identical to the MVME-167, this should *just work*.
2000-11-20 19:35:28 +00:00
thorpej fdfb847e3e Make ci_ipis volatile. 2000-11-20 19:25:43 +00:00
thorpej 7f059c8e69 Move IPI processing into a separate function. 2000-11-20 19:24:36 +00:00
thorpej 5a22e57dc3 Print the CPU ID while dumping trap info. 2000-11-20 15:33:39 +00:00
tsubai 11b48d8a4d Thermal Management Interrupt is available on 750, too. 2000-11-20 15:16:04 +00:00
tsutsui 2cd77d5700 Fix swapped keycode for '[' and ']'. 2000-11-20 14:55:15 +00:00
chs c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
thorpej 2f1e131332 Delete a block of code that was intended to get the second
CPU to handle interrupts, but prevents a whole slew of things
from working properly on the second CPU.  It is no longer
necessary now that several other bugs have been fixed.
2000-11-20 03:15:15 +00:00
thorpej fe5b367ce6 In Idle(), only switch to the idle PCB if we're not already running
on it, and make sure to deactivate the old process's address space,
as this will not otherwise be done by cpu_switch() later once we're
on the idle PCB.

Also, update some comments related to when s0 (i.e. the old process)
is NULL in the context switching code.
2000-11-20 02:44:45 +00:00
soren 046ce58634 Enable com at cardbus. 2000-11-20 02:00:46 +00:00