Commit Graph

25057 Commits

Author SHA1 Message Date
thorpej 895f21a679 Prototype freebsd_syscall_intern() in freebsd_machdep.h so that
freebsd_exec.c has access to it.
2000-12-18 23:29:46 +00:00
thorpej ad4f387a4c Put back the INITIALLY_{ENABLED,LEVEL_TRIGGERED}() PROM brain-damage
work-around.  It's required in order for the DEC Multia (a very
brain-damaged little machine) to work properly.

Submitted by Juergen Weiss <weiss@uni-mainz.de>, addresses
port-alpha/11202.
2000-12-18 21:49:08 +00:00
scw e82303a96d s/MDECDIR/MDEC_DIR/ 2000-12-18 21:27:01 +00:00
jdolecek 02f7f5ef0e make compilable within LKM 2000-12-18 20:49:17 +00:00
jdolecek 6701524af4 put back the rval[1] microoptimization, this is no longer used by FreeBSD emulation 2000-12-18 20:40:25 +00:00
jdolecek 2db538c869 separate the freebsd syscall code similarily to other emulations 2000-12-18 20:38:27 +00:00
mrg 32b8108b06 s/%qx/%llx/ 2000-12-18 15:57:15 +00:00
mrg dd2f1cdf71 - rename 32bit USRSTACK32, and define USRSTACK to that if !__arch64__, so that
64bit code can see USRSTACK32
- bump the limits
2000-12-18 14:48:26 +00:00
jdolecek 214db5ca6b Store edx to rval[1], so that it won't get zeroed spuriously - this made
shared FreeBSD binaries coredump.
This solves port-i386/11708 by Atsushi Onoe.

XXX it may be worth it to split FreeBSD syscall code off syscall.c similar way
XXX as other emulations
2000-12-18 11:37:08 +00:00
minoura 6f08eabd1f %reg -> %%reg in asm() directive. 2000-12-18 02:46:49 +00:00
bjh21 c25ab2f1ec Rudimentary facilities for extracting the card's Ethernet address from the
ROM.  Only works on one of my two cards, though.  It looks like we'll need
to use the RISC OS loader on the podule to get this right.  *mutter*
2000-12-18 00:46:47 +00:00
tsubai 9812c28653 Clean up unused variables. 2000-12-17 23:24:25 +00:00
tsubai 600a78f5a5 Move variable tickspending to clock.c; it's used in only clock.c. 2000-12-17 23:16:22 +00:00
tsubai 00940e9045 Switch to the idle stack in the idle loop. 2000-12-17 22:57:35 +00:00
jmc 3926121843 Comment out the isa wss driver.
GENERIC is the kernel used on new installs and too many things overlap the
resources (irq mostly) the default isa version may be using which causes
panics on reboot.
2000-12-17 22:53:52 +00:00
pk c421b5eb92 Pull over revision 1.23 from sparc:
Fake a label only if it appears to be blank, and if so use RAW_PART
	instead of 0.
2000-12-17 22:39:18 +00:00
bjh21 4942923809 Handle detecting the available media and state of medium selection links
on EtherLan 100 (and presumably 500) boards.
2000-12-17 22:29:26 +00:00
pk 065dbd3604 Make pointer formats work with a 32-bit compiler. 2000-12-17 21:54:20 +00:00
pk 51dca5ed7c Fix printf() pointer formats & make them work with a 32-bit compiler. 2000-12-17 21:43:54 +00:00
pk 4d082438e0 Literal `%' in format string => `%%' 2000-12-17 21:42:21 +00:00
pk 107489f7a1 Remove spurious `#define DEBUG' 2000-12-17 21:41:43 +00:00
thorpej 0a8ec4baf3 Add an at isapnp. 2000-12-17 20:35:45 +00:00
jdolecek cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
jmc d1c6f1123f Add pnpbios_getiosize 2000-12-17 07:59:14 +00:00
jmc 50445038df Change the attach routine so it handles all the known cases that pnpbios
returns for floppy controllers i/o ports. i.e.

1. 1 range of length 4 (which conveniently "forgets" the ctl i/o port),
2. 2 ranges: 1 of length 4 and the ctl i/o port.
3. 1 range of length 6 which goes to the end of the ctl i/o.

Make this line up with the MI fdc code by mapping in a range of 4 on the
base i/o and then either direct or submapping the ctl i/o. In the one case
where the BIOS lies and says it's not there just map it in anyways. (but note
the fact to the end user).
2000-12-17 07:58:37 +00:00
mycroft f25d5fc601 Fix another obvious linesw problem. 2000-12-16 21:16:22 +00:00
mycroft 8a6c4ba10b Fix an obvious braino in the line discipline change. 2000-12-16 21:09:18 +00:00
bjh21 72735aa75a Correct embarrassing null-pointer-dereference bug. Also fixes interrupt
enabling.
Default to 10base2 for now, since automatic media selection doesn't work.
2000-12-16 18:24:36 +00:00
bjh21 3ebcd51009 I think bit 0 of the status register is the interrupt status on read. 2000-12-16 18:23:14 +00:00
bjh21 3c5709c088 Separate out checkvectors(), so it can be used elsewhere for debugging. 2000-12-16 16:45:11 +00:00
simonb 4cf1e73334 Use sys/conf/newvers_stand.sh instead of local script. 2000-12-16 04:20:24 +00:00
tsutsui e9da06d897 Add options COMPAT_LINUX (sync with GENERIC). 2000-12-15 18:19:03 +00:00
itohy cf27186531 Remove empty lines from cpp output since make doesn't seem to like them. 2000-12-15 07:16:36 +00:00
tsubai 0763c14571 Make this compile again. 2000-12-15 01:16:48 +00:00
thorpej cd414d81ab Glue in ALTQ. 2000-12-14 23:55:31 +00:00
jeffs 1c726aab7f For MIPS software masking option, when returning to user mode apply
the mask to all interrupts to catch changes in the mask state faster.
Does not affect platforms w/o this option enabled.
2000-12-14 21:29:51 +00:00
jeffs 19adf5c987 Make userret() "static __inline". This lets it be inlined, even if you
do not have the compiler inline normal functions to save space.  It helps
a bit on lmbench.
2000-12-14 21:24:53 +00:00
bjh21 395a883e48 Pull across arm32 rev 1.19:
Remove ALTENTRY().  It's dangerous and should not be used.
2000-12-14 20:50:56 +00:00
mycroft fbcb53e0b5 Sync with -current, add COMPAT_LINUX. 2000-12-14 20:46:06 +00:00
bjh21 e266a563d8 Filter out non-ASCII characters from podule descriptions.
I think my MIDI card had a \r at the end, which was confusing.
2000-12-14 20:40:29 +00:00
scw 5cabdd3709 Some snippets of documentation for mvme68k... 2000-12-14 20:30:14 +00:00
bjh21 84d111ea01 Move RCSID to the end of locore so it doesn't end up in zero page if we
compile with an asm.h which doesn't know about section .ident.
2000-12-14 20:30:03 +00:00
bjh21 a6b4048c85 Get ELF RCSIDs back 2000-12-14 20:26:42 +00:00
mycroft e06ad67fa5 Remove ALTENTRY(). It's dangerous and should not be used. 2000-12-14 20:15:26 +00:00
bjh21 14198dc0bd Sync with arm32 -- they've got ELF stuff there these days. 2000-12-14 19:28:12 +00:00
bjh21 acff6e4375 Use _C_LABEL rather than _C_FUNC. 2000-12-14 19:22:39 +00:00
marcus 724713366e Made weak_alias create correct labels on sh-elf. 2000-12-14 18:47:30 +00:00
mycroft c0d0ffef4e Some #ifdefs to make LKMs happy. 2000-12-14 18:44:20 +00:00
mycroft 33d5c07c1b Clean up #includes. 2000-12-14 18:34:59 +00:00
mycroft 1b77a6e458 Add COMPAT_LINUX. 2000-12-14 18:28:30 +00:00
mycroft 3c073877f3 osf1_locore.s -> osf1_sigcode.s, to match the global convention.
Add linux_syscall.c.
2000-12-14 18:06:13 +00:00
mycroft 3418812d3c Partial syscall cleanup, as per other ports. 2000-12-14 10:33:42 +00:00
martin ee0eb24c13 Don't include opt_*.h if compiling as LKM. 2000-12-14 10:24:42 +00:00
onoe a7125e435c Add PCI version of Aironet, not tested at all.
ISA/ISApnp version won't come since I don't know about isa...
2000-12-14 04:11:25 +00:00
mycroft 0a01b4476a Do the previous with a forwarding declaration of struct proc instead. 2000-12-14 00:41:50 +00:00
mycroft 473eee8c82 Wrap mdproc in #ifdef _KERNEL. 2000-12-14 00:38:20 +00:00
jdolecek ca57e681bd g/c obsolete vtrace(2) stuff 2000-12-13 18:13:05 +00:00
kleink 7ed30e9594 This code wasn't written in Utah or Berkeley. 2000-12-13 09:41:57 +00:00
mycroft 008f44277d Do the fast/slow path separation, a la x86. 2000-12-13 07:53:58 +00:00
mycroft 108d17eb16 Do the md_syscall, __HAVE_MINIMAL_EMUL and __HAVE_SYSCALL_INTERN thangs. 2000-12-13 03:16:36 +00:00
mycroft 716c484ada Remove unnecessary #includes. 2000-12-13 01:24:46 +00:00
mycroft 760ab2591f Oops; add PROC_PC(). 2000-12-13 00:46:31 +00:00
mycroft dc26c1ab17 Start cleanup of syscall(), similar to i386 and arm32. getpid() rate on my
AS200 goes from ~279000/s to ~446000/s.
2000-12-13 00:38:20 +00:00
simonb 79b09f2c56 Bump the initial data size limit to 32MB - large enough to compile a
kernel with an ELF toolchain.
2000-12-12 23:46:22 +00:00
sato 595779fbdc delete unused HPCFB_BSTORE codes. 2000-12-12 22:41:02 +00:00
he 4ce4648c24 Add the an(4) driver to these configurations as well. 2000-12-12 21:14:51 +00:00
mycroft a34a3ecb5e Slight tweak. 2000-12-12 20:49:16 +00:00
mycroft a7889f8229 Whoops. Previous change was not correct. 2000-12-12 20:30:12 +00:00
mycroft 2c7eaf2b50 Minor code rearrangement. 2000-12-12 20:22:49 +00:00
mycroft a8ac146577 Adjust for userret() interface change. 2000-12-12 19:45:47 +00:00
mycroft ea3353ea19 Clean up some DEBUG stuff, move want_resched check from userret() to ast(). 2000-12-12 19:41:50 +00:00
mycroft 4944313b38 GC a little more cruft, and use __HAVE_MINIMAL_EMUL. 2000-12-12 18:26:43 +00:00
mycroft d90febaada More cleanup. 2000-12-12 18:13:29 +00:00
thorpej c5293456da Adapt to bpfattach() changes, and further centralize the bpfattach()
and bpfdetach() calls into link-type subroutines where possible.
2000-12-12 18:00:22 +00:00
mycroft 9e9c8e676b Adjust some profiling stuff for the kernel. 2000-12-12 17:38:45 +00:00
mycroft 5e6430ffd8 Clean this up and add profiling stuff. 2000-12-12 07:35:25 +00:00
mycroft 9fc58d6908 Whoops, lay off the crack. 2000-12-12 06:36:19 +00:00
mycroft 446f34fb60 suswintr() and fuswintr() return -1 on error, not 0. 2000-12-12 06:32:39 +00:00
mycroft 7057d01bbc Inline need_resched() and need_proftick(). Make need_proftick() actually *do*
something!
2000-12-12 06:06:05 +00:00
mycroft 6a719db6e7 Still more cleanup. 2000-12-12 05:35:48 +00:00
mycroft c656add165 More cleanup. 2000-12-12 05:26:38 +00:00
mycroft e58eb48f25 Begin cleaning up the syscall path, a la i386. 2000-12-12 05:21:02 +00:00
nisimura a141a84ce1 Relocate boot flag detection from consinit() to more logical place. 2000-12-12 04:07:35 +00:00
nisimura 80195863fc This file is a replicant of hp300. The following is peculair to
the original HPBSD implementation and HP hardware design.

 * Portions of the last segment of KVA space (0xFFF00000 -
 * 0xFFFFFFFF) are mapped for a couple of purposes.  0xFFF00000
 * for UPAGES is used for mapping the current process u-area
 * (u + kernel stack).  The very last page (0xFFFFF000) is mapped
 * to the last physical page of RAM to give us a region in which
 * PA == VA.  We use the first part of this page for enabling
 * and disabling mapping.  The last part of this page also contains
 * info left by the boot ROM.

Nuke lptpa because that is irrelavant for LUNA.
Put #if defined(M68040) for consistency postponing efforts of LUNA-2.
2000-12-12 04:06:08 +00:00
mycroft 0175db6e40 #ifdef KTRACE some stuff. 2000-12-12 03:33:16 +00:00
bjh21 afb44982ee Correct the mangled-vectors check. 2000-12-11 23:51:58 +00:00
bjh21 0692c35dda Since BBBB correctly disables the CPU cache at startup, we now decide whether
to leave it disabled based on the bottom bit of cpu0's cf_flags.
2000-12-11 23:46:50 +00:00
onoe 9c25e9208a Port 'an' driver for Aironet PC4500/PC4800 IEEE802.11 card from FreeBSD.
This is very adhoc work for IETF meeting.
- Since it seems that 'an' and 'wi' have similar hardware, low level
  functions should be shared.
- There are PCI/ISA cards of Aironet but not supported yet.
- The wiconfig interface is changed so that wiconfig cannot be used.
- 'ancontrol' of FreeBSD is not ported.
- Only infrastructure mode is tested.
- WEP is not supported.

Though I only have an Aironet card, Cisco card should be expected to work.
2000-12-11 23:16:50 +00:00
bjh21 d606f7e6e0 Move most of the RISC OS shutdown into BASIC code.
Issue Service_PreReset to get the hardware to a sane state.
Use *ShutDown to log off fileservers.
Use the correct arguments to Cache_Control.
Using Service_PreReset seems to have rendered the Podule_ReadID trick
unnecessary, so g/c it.
2000-12-11 22:19:18 +00:00
scw b875ed466e Some micro-optimisations to _spl() and _splraise(), saving one instruction
in the former, and three to seven in the latter.
2000-12-11 20:05:33 +00:00
eeh ce7f4ef73f Don't use rwindow_save() since the stack has already been made COW. 2000-12-11 18:51:55 +00:00
marcus 83334549fb Initial import of port "dreamcast" (cloned from port "evbsh3"). 2000-12-11 18:19:12 +00:00
mycroft 9a8fbe25bc Handle the VM86-mode syscall problem by changing the syscall vector when
jumping in or out of VM86 mode.
2000-12-11 17:36:03 +00:00
mycroft 1ef2795be9 Separate the syscall handlers into two versions -- one which does ktrace, and
one which doesn't.  Dynamically switch.
There's more to do on this, but I have to go to work.
2000-12-11 16:49:15 +00:00
tsutsui c8a3a939e3 space -> TAB 2000-12-11 15:38:43 +00:00
tsutsui 7212823f47 Set USPACE_ALIGN to USPACE on mips. 2000-12-11 15:37:32 +00:00
tron d0de1ec852 Protect against multiple inclusion. 2000-12-11 11:39:06 +00:00
tron c6cdb692f3 Include "machine/frame.h" to avoid lint errors while building "libc". 2000-12-11 10:22:55 +00:00
mycroft e6d33b69ec Nuke reference to trace.h. 2000-12-11 05:41:06 +00:00
mycroft 0f17615da7 There is no Berkeley code in any of these files. 2000-12-11 05:37:01 +00:00
mycroft f495cd9dc6 Introduce 2 new flags in types.h:
* __HAVE_SYSCALL_INTERN.  If this is defined, e_syscall is replaced by
  e_syscall_intern, which is called at key places in the kernel.  This can be
  used to set a MD syscall handler pointer.  This obsoletes and replaces the
  *_HAS_SEPARATED_SYSCALL flags.
* __HAVE_MINIMAL_EMUL.  If this is defined, certain (deprecated) elements in
  struct emul are omitted.
2000-12-11 05:28:59 +00:00
mycroft 6a4dfe5f24 Slight tweak. 2000-12-11 02:48:07 +00:00
scw 5d5ebb1b73 Simplify the reboot code:
Always jump through the PROM's reset vector, regardless of board type.
  Fix a stack offset problem in the mvme147 reset code path.
2000-12-10 20:00:21 +00:00
eeh 264fbb89af Cleanup types in DEBUG printf()s. 2000-12-10 19:52:17 +00:00
eeh 40638d9f35 Zero proc 0 stack pages so the pcb is cleared out before use. 2000-12-10 19:33:02 +00:00
mycroft 66610a4779 Introduce PROC_PC(), which is used to get a process's user PC. If this is
defined, call addupc_intr() directly from statclock() in the system time case,
using the same P_OWEUPC path if the copyin/copyout fails.
Use this in i386 to remove profiling code from the normal userret() path.
2000-12-10 19:29:30 +00:00
chs b9423d9d52 in pmap_enter(), do not mark the page modified just because we mapped it
for write to a kernel address.  callers may now use the "flags" argument
to cause this to happen when desired.
2000-12-10 19:25:44 +00:00
scw 8ace7abc75 A small splx()/spl0()/soft interrupt related optimisation. If we're
dropping to spl0, use inline code to check if a soft interrupt is
pending instead of taking the hit of a function call to do the check.
2000-12-10 18:43:02 +00:00
scw c5b6f43634 Define `splzs()' to be `splserial()' instead of `spl4()', which was
wrong anyway since it blindly set SPL to 4 regardless of the prevailing
level.
2000-12-10 18:00:24 +00:00
bjh21 4f1ee09e5f It looks like UBC_WINSIZE needs to be at least PAGE_SIZE. 2000-12-10 14:28:45 +00:00
jdolecek 1683c206a4 provide dymmy symbol 'syscall' to make ppc kernels
linkable after recent emul changes - it's used in emul_netbsd and friends
XXX this is probably wrong solution; should powerpc have separate
XXX syscall() as other ports do ?
2000-12-10 12:49:54 +00:00
jdolecek 8ca533ee5b since this is now standalone and not called via syscall(), we need to
update statistics and set p->p_md.md_regs accordingly here
do the errno translation uncoditionally
2000-12-10 12:23:50 +00:00
jdolecek 603884ff22 syscall(): no emulation using this needs errno mapping, G/C the code 2000-12-10 12:09:59 +00:00
matt 3d9cc98e9a Add VAX 4000/200 2000-12-10 03:37:56 +00:00
bjh21 4f5619bc7c Prototype kdb_trap(). 2000-12-10 01:31:48 +00:00
bjh21 7e79390d64 Delint. 2000-12-10 01:27:35 +00:00
bjh21 6073fc61bf Indirect the SWI handler through the current emulation, thus providing a
syscall() for MI code.  Hope it never calls it itself.
2000-12-10 01:18:52 +00:00
bjh21 477863502b DIAGNOSTIC check for mangled exception vectors. 2000-12-10 01:02:04 +00:00
scw 1a0a12c5b4 Bah. Somehow the a.out versions of the bootxx symbols got deleted; put
them back.
2000-12-09 22:33:24 +00:00
scw a3dc741c03 Delete the commented out EXEC_ELF32 now that it's in std.mvme68k.
(Spotted by Simon Burge)
2000-12-09 21:02:09 +00:00
matt 2e13ae83bc cpp/lorder/mkdep don't have cross specific versions. 2000-12-09 20:42:06 +00:00
bjh21 559ea94aca Fix arguments to ktrsys*() functions. 2000-12-09 18:57:17 +00:00
bjh21 6d66ade542 We no longer have zeropage.S. It was merged into locore.S last week. 2000-12-09 18:54:01 +00:00
bjh21 86dd29d1f5 Add a definition of BUS_SPACE_ALIGNED_POINTER. 2000-12-09 18:47:15 +00:00
bjh21 8df54708da If we get an odd IOEB type, tell the user. I have a feeling issue 1 A5000s
might trip this.
2000-12-09 18:04:05 +00:00
bjh21 38d918f85f Proper support for the Unix backplane in those machines that have one.
Not very well-tested, but it seems to work.
2000-12-09 17:52:44 +00:00
bjh21 facbe746d0 Provide friendly names for the IRQs as they're wired in normal machines. 2000-12-09 15:16:01 +00:00
bjh21 3e0d9a1b4a Fix multiple-file loading. Bump version number to 0.41. 2000-12-09 13:30:25 +00:00
jdolecek 44d7fef20a make locore.s call emulation-specific syscall code directly
this should improve speed of emulation syscall path (avoids one function call,
and emulations syscall can use the trapframe trick)
Idea: Charles Hannum
2000-12-09 13:20:04 +00:00
jdolecek 6f0fceeb1d the call to emulation-specific syscall function will be handled differently,
don't do it explicitly
2000-12-09 12:57:17 +00:00
jdolecek 87a6bee3a9 prototype ibcs2_syscall() in compat/ibcs2/ibcs2_exec.c 2000-12-09 12:45:44 +00:00
jdolecek 8f9b01eba1 prototype svr4_syscall() (only) in compat/svr4/svr4_exec.c 2000-12-09 12:44:26 +00:00
jdolecek 45144cbd17 put userret() into header file machine/userret.h and pull it where needed 2000-12-09 11:21:52 +00:00
mjacob af2807f9f7 Finally fix this driver to be sensible about the ENDIAN dance. It's not
quite simply a question of the Qlogic being little endian and having
to have stuff swapped on big endian machines- it also has to do with the
fact that the SBus and PCI DMA layouts are wierd with respect to this.

At any rate, now finally fixed- works on Mac G4, tested it on a SS10
for sparc, checked on alpha to see if I've broken anything, and as
soon as I get another spare afternoon I'll finally install a sparc64
version which should just work (as it'll be like the Mac).
2000-12-09 08:06:31 +00:00
mycroft b2052e5951 GC garbage in userret() and *_syscall(). 2000-12-09 06:34:07 +00:00
mycroft afc49e36eb Set md_regs before call the alternate syscall handler.
Remove the EMUL_HAS_SYS___syscall test, because the handler is no longer shared
with SVR4.
Rather than comparing with e_nsysent, just mask the value.  This is only done
to protect us from malicious programs anyway.
2000-12-09 06:33:15 +00:00
mycroft 3340782619 Add a separate svr4_syscall(). 2000-12-09 06:30:54 +00:00
briggs cd0841b357 Clear interrupts on the Apple "Boogie" card. Information grovelling
and testing by Lucas Lay.
2000-12-09 05:14:31 +00:00
mycroft 7a70c438c8 Couple more tweaks to eliminate unnecessary cycles. 2000-12-09 02:46:17 +00:00
mycroft 57fdd67be5 Do the resched check *only* on an AST.
Also, there is no reason to save the original PC; there are no restartable
syscalls that change the PC -- and even if there were, they wouldn't do it
in the restart case.
2000-12-09 02:18:16 +00:00
mycroft 5415a63e13 Rework the way the nested task and trace flags are handled when entering the
old (lcall) syscall gate.  This speeds up that path a little.
2000-12-08 23:14:04 +00:00
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