Commit Graph

1976 Commits

Author SHA1 Message Date
cgd
1a3537df95 OSF/1 locore-ish bits. right now just sigcode 1999-04-30 05:58:10 +00:00
cgd
04f53f0b03 gross hack for SIGFPE under OSF/1, until ross makes SW completion go 1999-04-30 05:47:53 +00:00
ross
c5a82dd848 * New MI man page for fp{set,get}{round,sticky,mask}(3).
* Implement fpgetsticky() for alpha.
* Direct fpsetsticky() and fp{get,set}mask() into alpha kernel via sysarch(2).
* Define new sysarch(2) stub for above and install and distribute sysarch.h
for alpha.  (The fpcr IS user mode r/w, but for reasons beyond the scope
of a commit message kernel calls are needed.) And much kernel Magick is
required before these do anything, but this way programs compiled under
1.4 will DTRT on future snapshots and releases.
1999-04-30 00:58:30 +00:00
ross
7288a55336 Use a different initial FPCR, mainly to suppress the ieee inexact trap. 1999-04-29 03:02:20 +00:00
ross
0847df9065 #ifdef _KERNEL, define the machine FPCR bits and a rounding mode macro 1999-04-29 02:55:50 +00:00
ross
aa1e5724b9 WSEMUL_SUN -> WSEMUL_VT100 1999-04-29 01:28:40 +00:00
cgd
7b8e7abdd6 use osf1_exec_ecoff_hook() 1999-04-27 02:33:35 +00:00
cgd
6f2f5becb6 Alpha ECOFF object type definitions 1999-04-27 02:32:33 +00:00
ross
f868468aaa Never used, and work-in-progress uses a different header. 1999-04-25 20:15:06 +00:00
simonb
5d8b1ef3e4 g/c REAL_CLISTS. 1999-04-25 02:56:26 +00:00
ross
28ef22871e Copy isdn4bsd cdevsw hooks from i386 conf.c. 1999-04-24 17:01:15 +00:00
cgd
575e9f8dfd support emulation-specified errno mapping tables 1999-04-23 05:43:02 +00:00
ross
be000bc016 Revert 1/2 of previous change. INSECURE is still OK for alpha. 1999-04-20 21:43:03 +00:00
thorpej
f7b0fea081 After reviewing the Green Book, BPT traps do indeed leave the PC pointing
to the instruction _after_ the `call_pal bpt' instruction.
1999-04-20 21:30:15 +00:00
thorpej
375b3fa699 Prototype alpha_debug(), and add some definitions for KGDB. 1999-04-20 21:23:56 +00:00
thorpej
62d09f4f93 Move the inclusion of <machine/bus.h> to within a _KERNEL section. 1999-04-20 21:23:09 +00:00
thorpej
869951571d - Clean up ddb_trap() somewhat, and handle exceptions that happen while we're
in DDB (e.g. if a bad pointer was dereferenced; the debugger will recover).
- Change a comment to indicate that we are on the debugger stack when we get
  to ddb_trap().
- Fix possible buglet in computation of the branch target in db_branch_taken().
1999-04-20 21:19:48 +00:00
thorpej
701edb8db8 - Revert previous, and do debugger entry if kernel BUGCHK or BPT traps
happen.  If the debugger doesn't handle the trap, arrange things so the
  debugger won't be called again before we panic.
- Before panic'ing, give the debugger a chance to field the trap, and
  if the debugger has handled things, allow the kernel to continue running,
  like the i386 port does.
1999-04-20 21:16:59 +00:00
thorpej
a12dedc3ea - Revert previous change to XentIF(), now that we're going to enter the
debugger differently.
- Pull in debugger glue if DDB is configured.

And one unrelated change, while I was here: Don't create a fake trapframe
for main(); it hasn't been used by main() for quite some time, and panic
if main() returns, because that's not supposed to happen now.
1999-04-20 21:11:59 +00:00
thorpej
1b2eac076f Add a common debugger entry point, alpha_debug(), which performs various
tasks (i.e. switches to the debug stack) and then invokes the appropriate
debugger (DDB or eventually KGDB).
1999-04-20 21:09:49 +00:00
thorpej
9d78593b30 Back out previous; we're going to dispatch to the debugger differently. 1999-04-20 21:08:23 +00:00
ross
702267a538 options INSECURE, like i386
pckbc* -> pckbc0, like i386
1999-04-20 06:16:35 +00:00
thorpej
f30375cda0 Dispatch to the debugger from the Intruction Fault trap vector directly,
rather than doing it from trap().  This so we can switch to a temporary
stack for the debugger (in a forthcoming commit).
1999-04-19 23:24:14 +00:00
thorpej
d24359e5c8 Define BPT and BUGCHK Intruction Fault codes. 1999-04-19 23:22:19 +00:00
drochner
7694cc18a5 wsconsio.h is gone 1999-04-17 13:00:04 +00:00
thorpej
3b29e1e158 Clean up the Rawhide interrupt code some more:
- Actually display the kn300 irq, not the MCPCIA irq, in the interrupt
  string.  Also, don't bother displaying device/pin on strays, since
  it doesn't play will with shared interrupts that would happen due to
  a PCI-PCI bridge.
- Shave a few more cycles out of the interrupt dispatch routine.
1999-04-16 21:29:47 +00:00
ross
74de38f9a9 Really say goodbye to old wscons. 1999-04-16 07:24:13 +00:00
thorpej
d38cab08e5 Add SGMAP stuff for Window 2, and rename Window 0's SGMAP stuff to indicate
its use.
1999-04-16 02:18:07 +00:00
thorpej
1ddebc8444 Fix a silly bug present since rev 1.1; the direct-mapped window is
supposed to be Window 1, but a cut'n'paste error made it stomp over
Window 0, thus breaking ISA DMA.  Fix this.  (Confirmed to work with
floppy driver.)

While I'm here, do something I've been meaning to do for a while: change
Window 1 from a 1G at 2G to a 2G at 2G direct-mapped window, and add
a Window 2 of 1G at 1G SGMAP-mapped.  Chain Window 2 to Window 1, and
use it as a fall-back for PCI DMA if the system has more than 2G of RAM.
1999-04-15 23:47:52 +00:00
thorpej
31c4e50d3a - Change the "savunit[]" and "savirqs[]" arrays to ints, rather than chars.
The access is more efficient this way (and this was done in the interrupt
  dispatch code, so some cycles are actually shaved), and gcc gets annoyed
  when chars are used as array subscripts.
- Adjust for the fixed Rawhide console initialization.
- When mapping a PCI interrupt, don't always map device 1 to IRQ 16.  Device
  1 is only the internal 53c810 on MID 5, and is an invalid device number
  on any other MID.
- Adjust for change mcpcia_config/mcpcia_softc structures.
- Nuke the kludgy linked list of mcpcia_softc structures.  Instead, just
  use savunit[v] to index into mcpcia_cd.cd_devs[] to find the MCPCIA
  which has the stray interrupt.
- Some other minor cosmetic cleanup.
1999-04-15 22:37:25 +00:00
thorpej
592cdd4bda Adjust for new register access arguments, and make one slight cosmetic
change.
1999-04-15 22:32:21 +00:00
thorpej
f2368c1301 CHIP_EX_MALLOC_SAFE() now must pay attention in class. 1999-04-15 22:31:16 +00:00
thorpej
279f30928f Add support for a single statically-allocated MCPCIA configuration structure,
which holds state of the MCPCIA to which the console is attached.

- All MCPCIA info is now stored in the mcpcia_config structure; the
  mcpcia_softc only contains a struct device and a pointer to one of these.
- If attaching the console MCPCIA, use the static configuration, else allocate
  the substructure.
- Rename mcpcia_init() to mcpcia_init0(), and make it take a "mallocsafe"
  argument.
- Implement a new mcpcia_init(), which looks for the MCPCIA which has the
  EISA bridge attached.  Initialize this MCPCIA as the console MCPCIA (the
  console on the Rawhide is only allowed on this MCPCIA; firmware rule).
- Eliminate the kludgy linked listed of mcpcia_softcs.  Just use mcpcia_cd
  to find all configured instances.

Separate bug fix: Actually clear the MCPCIA error mask after probing for
PCI (and ISA) devices, don't just clear it twice in mcpcia_init0().

Some other slight cleanup.
1999-04-15 22:27:40 +00:00
thorpej
9af474a62c - Add a comment explaining why we probe for MCPCIAs in the shuffled
MID order.
- Export the shuffled MID order; other files now need it.
- Don't derive the GID from the unit number of the mcbus.  A user could
  render his kernel non-bootable by using a different unit number in the
  kernel config file.  We (and the hardware) only support one MCBUS, so
  simply use instance 0.  Note that this will need to be adjusted if there
  are even any multiple-MCBUS systems.
1999-04-15 22:19:52 +00:00
thorpej
9a4a0a3c81 DEC_KN300 no longer uses PROM console. 1999-04-15 22:15:38 +00:00
thorpej
1287bb8599 Always call the platform's cons_init routine (note, it may not do anything,
but it's a very handy place to put console-related debugging code in,
even if we're still using the PROM console).
1999-04-15 22:15:05 +00:00
thorpej
f3314e93e8 Add an empty dec_kn8ae_cons_init(). 1999-04-15 22:13:41 +00:00
thorpej
02aa04c89e Massive cleanup of the AlphaServer 4100 console initialization code.
Instead of using the PROM console until autoconfiguration is complete (at
which time we called dec_kn300_cons_init() directly!), make this work like
basically all of the other systems which have PCI attached consoles.  That
is, initialize the PCI chipset which holds the console early, and perform
console initialization at the correct time.

This should make both PCI and ISA display consoles with PC keyboards work
(i.e. the deskside workstation version of the Rawhide).
1999-04-15 22:11:57 +00:00
thorpej
0df038ccb1 - Use the CTB_TURBOSLOT_* macros from rpb.h.
- Don't assume bus/slot == ISA display.  Instead, test for TYPE_ISA.
- Some cosmetic (whitespace, mostly) cleanup.
1999-04-15 22:06:47 +00:00
thorpej
f03f59a5b8 Back out the change to swap Lev1map on MP systems that use the PROM console.
Basically, we have to completely nuke the _PMAP_USES_PROM_CONSOLE code from
orbit before MP is going to properly work.
1999-04-15 21:21:25 +00:00
thorpej
e8e6061642 Slight braino in previous. 1999-04-14 23:55:35 +00:00
thorpej
25a0e78bf3 Add macros to decode the `turboslot' member of the Console Terminal Block. 1999-04-14 23:28:31 +00:00
pk
b13e5d1469 Quote "AS IS" as in the majority of Carnegy Mellon notices. 1999-04-12 20:38:17 +00:00
chs
f455dd6596 add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.
1999-04-11 04:04:04 +00:00
cgd
050a43f655 start on a glorified system-examination console program. 1999-04-11 03:38:51 +00:00
cgd
7f28b25d23 add support for 'standalone programs', like kernels but not the kernel. 1999-04-11 03:36:21 +00:00
cgd
13fcfc2aeb only conditionally set BINDIR to /usr/mdec 1999-04-11 02:51:21 +00:00
cgd
6d0fadbd19 be more consistent about use of 'cputype'. e.g. it's in a header, don't
bother 'externing' it everywhere!
1999-04-10 01:21:36 +00:00
cgd
f262e02775 constify bootprog_*, move their definitions into common.h, and have
the generated vers.c include common.h to check against definitions.
1999-04-09 17:50:15 +00:00
thorpej
e468d4c8d9 Fix a bug in TBI optimization uncovered by the "access_type" changes. Thanks
to Bernd Ernesti for providing crash dumps to Charles Hannum who tracked
it down.
1999-04-09 00:38:10 +00:00