Commit Graph

411 Commits

Author SHA1 Message Date
thorpej
3366b987d0 Put SGMAP-related stuff in the DMA map structure directly, rather than
indirecting through a pointer.
1998-01-17 21:53:52 +00:00
thorpej
83c4c24058 Add "non-volatile" memory cluster usage bit. 1998-01-12 07:07:19 +00:00
perry
6f57e5c573 multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom) 1998-01-09 22:23:44 +00:00
thorpej
bb4988dca2 If MACHINE_NEW_NONCONTIG is defined, activate the pmap_steal_memory()
interface.
1998-01-09 19:13:09 +00:00
thorpej
b115c27722 Get rid of some old cruft. 1998-01-09 08:18:22 +00:00
thorpej
5170264d4e Gather pv_table and pmap_attributes things togther, and macro'ize
access to them a little better.

Also, improve the performance of pmap_is_{referenced,modified}() and
pmap_clear_{reference,modify}() somewhat.
1998-01-09 06:54:17 +00:00
thorpej
b9f1b716f3 Now that all ports have pmap_activate(), and it has an identical interface,
prototype it in <vm/pmap.h>
1998-01-03 01:12:59 +00:00
kleink
66c2794142 Add _BSD_SUSECONDS_T_ and _BSD_USECONDS_T_; do some space vs. tab formatting
cleanup
1997-11-23 20:20:53 +00:00
ross
9dcfc52387 Put in Jason's recommended fix for the null-curproc-in-pmap.old.c problem. 1997-11-17 00:11:22 +00:00
mjacob
479bc8877c Protect userland applications from the inline splraise function. 1997-11-10 18:23:50 +00:00
thorpej
e22396f499 Clean up the messages displayed when either platform support is not
configured into the kernel, or when the platform is not supported.
Use the defopt'ed options, rather than NDEC_... and remove the needs-flag
hack that's existed for a while.
1997-11-06 00:41:45 +00:00
thorpej
4730a8cbec Bug fixes and cleanup from Chris Demetriou <cgd@pa.dec.com>:
- fix _C_LABEL so that it actually works.
- make __RENAME use _C_LABEL.
- fix __RENAME so that it expects an unquoted argument.
- fix __indr_reference and __warn_references so that they
  supply their own final semicolon.
- define __warn_references to nothing if not GNU C (required
  by the way it's used).

The __warn_references semicolon change has to be made
so that __warn_references can be defined into nothing.
(A ; all by itself isn't a great idea.)  The __indr_reference
change was made for consistency.
1997-11-04 23:09:23 +00:00
ross
0ea4820367 --Add handcrafted stack frame directives to locore.s palcode vector
--entries / remove kernel entry from locore / reorganize vector entry
--code. Enables access to stack frames transitively w.r.t. palcode
--vectors, e.g. upward traceback works, inverting (possibly several)
--kernel vectors. Until now, all trackbacks ended at the first-reached
--instance of trap(), which was totally useless as there is no mystery
--to trap->panic->cpu_reboot
1997-11-03 04:22:00 +00:00
thorpej
665f7d1a6e Implement __RENAME() in <machine/cdefs.h> 1997-10-22 05:20:32 +00:00
mjacob
c83fc3eeb6 Remove __VM_PMAP_HACK. 1997-10-14 15:29:50 +00:00
bouyer
6ab3092b11 Add byte-swapping functions (bswap16, bswap32, bswap64) to libkern.
Only assembly version for i386 bswap16 and bswap32 for now (bswap64 uses
bswap32). Contribution of assembly versions of these are welcome.
Add byte-swapping of ext2fs metadata for big-endian systems.
Tested on i386 and sparc.
1997-10-09 15:42:19 +00:00
mjacob
42c325e139 A minor barely acceptable hack to handle having a kernel boot on a system
with large amounts of memory and not spew. This doesn't really replace
fixing this problem better later, but it works for now. Basically, if memory
is greater than 128MB, start upping the sizes of some maps.
1997-09-23 23:23:23 +00:00
mjacob
b23bbbb05c Redo the platform specific identification and initialization, making
it more explicit where platform specific functions (like machine check
handling) should go.
1997-09-23 23:15:42 +00:00
mjacob
03a798a3fd Add some defines for alpha interrupt types. 1997-09-20 19:02:34 +00:00
leo
d4713d24c2 Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
thorpej
cd69e27594 Prototype alpha_implver(), and fix a think-o in a previous commit. 1997-09-17 23:33:28 +00:00
thorpej
87c1a08481 Add stubs for the Alpha Byte/Word Extension (BWX) instructions, present
on EV56 and later processors that have the "amask BWX" bit clear.  These
instructions will be used to implement non-swizzle bus access functions
on newer systems, such as the new AlphaStation 500s with EV56 and 21172
PCI chipsets.

See "Alpha Architecture Handbook, Version 3", DEC order number EC-QD2KB-TE.
1997-09-16 23:09:10 +00:00
thorpej
0599db7897 - Define bits used in the "amask" instruction.
- Define processor family IDs returned by the "implver" instruction.
- Prototype alpha_amask().
1997-09-16 06:57:12 +00:00
thorpej
9dcf694bd2 Prototype db_register_value(). 1997-09-06 02:02:25 +00:00
thorpej
36f209b762 Split off PALcode functions into their own header file. 1997-09-06 01:23:52 +00:00
thorpej
6f4f08b8b2 Add a few more PALcode operations, as documented in pages (II-B) 2-1 through
(II-B) 2-33 of the Alpha AXP Architecture Reference Manual, Second Edition:

* rdps - Read Processor Status, needed by spl* functions.
* cflush - Cache Flush
* rdval - Read System Value
* wripir - Write Interprocessor Interrupt Request
* wrval - Write System Value

cflush, rdval, wripir, and wrval are used in multi-processor environments.
1997-09-03 23:09:04 +00:00
thorpej
032358ab33 From hp300 pmap: use mycroft's pv_entry allocator (from i386 port). 1997-09-03 19:07:32 +00:00
thorpej
f03ded039c Update from hp300 pmap: define an active_user_pmap() macro and use it. 1997-09-03 00:58:13 +00:00
thorpej
6cf58542f9 PMAP_{,DE}ACTIVATE() are no longer exported from the Utah-derived pmap. 1997-09-02 23:52:55 +00:00
thorpej
b2a8424bb5 Garbage-collect loadustp(); the functionality has moved to pmap.old.c 1997-09-02 19:07:22 +00:00
thorpej
2c5c631b71 - Make the pmap_activate() and pmap_deactivate() interfaces consistent my
passing them a proc *, which encapsulates all of the information necessary
  to activate an address space.
- Garbage-collect pmap->pm_stchanged; it's not really used for anything.
1997-09-02 19:06:13 +00:00
thorpej
bf232f7a37 Make the pmap_activate() and pmap_deactivate() interfaces consistent my
passing them a proc *, which encapsulates all of the information necessary
to activate an address space.
1997-09-02 19:04:57 +00:00
thorpej
b7b3955ce0 Fix a typo: ALPHA_PTE_WRITE needs to include the "user write" bit. 1997-09-02 14:29:37 +00:00
thorpej
d95ac139e0 Oops, wrap cpu_decl()s inside #ifdef _KERNEL/#endif. 1997-09-02 14:25:34 +00:00
thorpej
8b6e894364 Clean this up a bit; defopt has rendered the #undef hacks unnecessary.
Also, put the cpu_decl()s in cpuconf.h, so that platform support files
can pull in the prototypes from there, and pull in options for those
systems for which there is code in the source tree.
1997-09-02 14:19:29 +00:00
thorpej
e79009b830 Ressurect from the Attic. 1997-09-02 14:00:11 +00:00
thorpej
693b3e7262 Nuke the idea of <machine/options.h>. It completely defeats the purpose
of fine-grain option dependencies.
1997-09-02 13:17:47 +00:00
thorpej
3220411801 Define PAL_cflush, PAL_ipir, and PAL_OSF1_wrperfmon PALcode operations. 1997-08-29 23:17:37 +00:00
cgd
bf596ddb89 don't define __BUS_SPACE_COMPAT_OLDDEFS if it's already been defined 1997-08-13 02:53:03 +00:00
cgd
2d184c2262 clean up bootinfo v1 struct a bit: add a hwrpb size field (in a backward-
compatible way), and clean up the comments to make things a bit clearer.
1997-08-11 23:43:38 +00:00
cgd
bd3cab1531 fix comment glitch in the last change 1997-07-25 07:01:42 +00:00
cgd
395f4bac6b clean up bootinfo structure comments so they're more readable (to me,
at least 8-).  Add structure offssets for structure members, so we
know how much space we're using.  Make the version in the bootinfo
structure be a u_long, so there's no implicit padding in the structure.
Add a few more pointers to the bootinfo v1 structure, which will all
be set to NULL for now.
1997-07-25 06:59:47 +00:00
thorpej
f56c3c315f More DDB support:
- Add support for software single-stepping (Alpha does not have hardware
  support for single-stepping)
- Alpha uses Elf64 symbols.
1997-07-25 00:06:25 +00:00
thorpej
08d4c7e688 Update alpha_init() prototype; takes two more args. 1997-07-25 00:04:36 +00:00
thorpej
264f1c5acc Define the bootinfo magic number and bootinfo (version 1) structure. 1997-07-25 00:03:47 +00:00
cgd
28b1691f4d when i was documenting the bus_space interfaces (the document
was sent to developers, but will eventually become a man page or
something), i noticed a few in various names:
(1) _map and _alloc should take a flags argument, rather than a
    'cacheable' boolean.
(2) BUS_BARRIER_* flags should be BUS_SPACE_BARRIER_*.
(3) bus_space_copy_* should be bus_space_copy_region_* for consistency
    with other region ops.
Fix all of these (in a backward-compatible way, at least for now).  Redefine
internal usees of those names to use the new names.  Also, while at it,
clean up the copy functions (remove unnecessary variables) and make sure
that they and other functions conform to the spec.
1997-07-23 07:47:51 +00:00
thorpej
7a8a1f3f1a Turn the extern declaration of __flt_rounds() into a proper prototype. 1997-07-17 21:36:03 +00:00
cgd
fce829ca4b mark prototypes for static inline functions as possibly unused
(with __attribute__ ((unused))), to avoid generating warnings when
compiling without optimization but with the default warning flags.
1997-07-07 20:37:34 +00:00
mrg
dc6a98e92c bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:09:23 +00:00
thorpej
78cd3ba57f bus_dmamap_t's always have a pointer to an sgmap cookie. (oops, forgot
to commit this to the branch!)
1997-06-07 05:35:06 +00:00
thorpej
11e78a6b0d Pull thorpej-bus-dma branch into mainline. 1997-06-06 23:43:45 +00:00
cgd
891e8db771 two more slight bogons 1997-06-05 17:36:26 +00:00
cgd
1c33c6bff8 actually, declare _splraise() as an inline function, because:
(1) it was using 'max', and some functions use a variable
	    of that name (*sigh*), and
	(2) that makes it easier to be a bit trickier, and only call
	    swpipl if changing the IPL.
1997-06-05 17:31:16 +00:00
cgd
100dbb8a3c parens around macro arg (this is an old one) 1997-06-05 17:20:17 +00:00
cgd
57c012e265 make sure that splnet(), splbio(), splimp(), spltty(), splclock(),
splstatclock(), and splhigh() all _raise_ the IPL.  (splhigh() is _not_
the highest possible IPL; mcheck is...)
1997-06-05 17:08:06 +00:00
gwr
e2a58b69f7 Add #define __VM_PMAP_HACK as a temporary measure. 1997-05-16 21:35:30 +00:00
mjacob
e005d20961 Allow MAXPHYS to be specified as a config file option. 1997-05-15 17:27:15 +00:00
cgd
f5bfcda4fe comment out text after #endif. "Pasto!" pointed out by Kevin Sullivan
in PR 3529.
1997-04-24 23:58:24 +00:00
cgd
38a8ed2dd3 clean up some ELF vs. ECOFF bogons 1997-04-14 07:31:03 +00:00
cgd
57a9b009a1 reorganize cpu configuration and device configuration tables. Now all macro
definitions and prototypes are in machine/conf.h, and all tables are in
alpha/conf.c.
1997-04-10 23:07:32 +00:00
cgd
f2b60ad624 align after RCS ID strings if placing them in text 1997-04-08 00:24:16 +00:00
cgd
519551a681 include RCS IDs for assembler files, disabled with NO_KERNEL_RCSIDS 1997-04-08 00:19:01 +00:00
cgd
90789b53dd by default, provide RCS IDs for NetBSD/alpha kernel files in kernel binaries.
This can be disabled (to save a bit of space) with the NO_KERNEL_RCSIDS
options, which is present but commented out in the ALPHA config file.
In ELF-format kernels, these strings are present in the kernel binary but
are not loaded into memory.  (In ECOFF-format kernels, there's no easy way
to keep them from being loaded, so they _are_ loaded into memory.)
1997-04-07 23:39:37 +00:00
cgd
98f47c009f add machine/conf.h, right now a minimal placeholder 1997-04-07 05:52:34 +00:00
cgd
8c56b1a0c9 clean up NetBSD RCS ID strings 1997-04-07 05:19:01 +00:00
cgd
1d4f43d56f add <machine/options.h>, to allow 'defopt' option headers to be easily
included.
1997-04-06 20:07:17 +00:00
cgd
562fa9b97d clean up NetBSD RCS ID strings 1997-04-06 08:39:37 +00:00
mycroft
c50b8e4fa8 Make the names of the member of struct __va_list namespace-clean. 1997-04-04 04:17:06 +00:00
jonathan
6ed95c4eb8 Protect MCLSHIFT definition so users can customize MCLBYTES. 1997-02-27 03:52:17 +00:00
fvdl
115b6d92fa Define ALIGNED_POINTER 1997-02-24 23:16:53 +00:00
gwr
ea3925f508 FIXUP_PC_AFTER_BREAK now takes an arg of type db_regs_t * 1997-02-06 21:16:28 +00:00
cgd
778552d37c add bad sector information to cpu disklabel 1997-02-03 19:46:07 +00:00
cgd
e48fd73808 astpending and want_resched are kernel-only 1997-01-24 06:38:37 +00:00
cgd
0396cad668 if __lint__ is defined, #define __builtin_saveregs() and
__builtin_classify_type() into harmless values, so that lint doesn't
get confused, think they're real functions, and that they're being
invoked in the wrong ways.
1996-12-22 08:57:23 +00:00
cgd
fc841ac711 __asm rather than asm, to make lint happy without -g 1996-12-19 09:13:44 +00:00
cgd
693a05816e disable weak aliases in libc until something actually uses them. When
using __weak_alias in libc, __indr_reference should probably be defined
to do nothing (but defined, so that duplicate functions/variables aren't
compiled).  However, when not using __weak_alias, __indr_reference causes
them to be omitted completely, which is a lose.  So, until weak aliases
are going to be used, don't define __weak_alias or __indr_reference.
1996-12-16 21:01:55 +00:00
cgd
6fbbbb1eb2 add endianness constants, relocation types 1996-12-14 05:46:13 +00:00
cgd
6dbb1548bd kill __BROKEN_INDIRECT_CONFIG 1996-12-07 22:43:17 +00:00
cgd
1a8f25c523 add a "machdep.booted_kernel" sysctl, which is the name of the booted
kernel as supplied by the SRM console's BOOTED_FILE variable.
1996-12-07 01:54:49 +00:00
cgd
96acdadef7 First step inn removing config_scan() and the hacks that gave devices
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:

Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.
1996-12-05 00:13:47 +00:00
cgd
156fe546d2 kill siroff() and resturcture do_sir() to be cleaner and more correct. 1996-12-03 17:34:47 +00:00
cgd
30b636bd09 implement bus_space_copy_*(). 1996-12-02 22:19:32 +00:00
cgd
256cf234a1 move barrier operation definition closer to the top of the bus space ops
structure.  In the implementations, allow the barrier op to be inlined.
1996-12-02 07:07:18 +00:00
cgd
54ba942f79 implement bus_space_set_multi_* and bus_space_set_region_* operations. 1996-12-02 06:46:49 +00:00
jtc
9da5f60715 PROF -> GPROF 1996-11-30 02:48:57 +00:00
cgd
f7a967045c #ifdef DEBUG, check {read,write}_{multi,region} ops' pointer arg for alignment. 1996-11-27 01:24:49 +00:00
cgd
12fc617201 make ALPHA_K0SEG_TO_PHYS and ~0xfffffc00000000000 with the address,
rather than and-ing 16G-1.  That just strips the k0seg bits, rather
than making the false assumption that the physical address is going
to be in the lower 16G.  That doesn't apply for CIA device-space
addresses, for instance.
1996-11-23 06:25:31 +00:00
cgd
91c6442ca0 implement a (hack-ish) set of routines to do common chained-interrupt
handler management.  It's nasty, but three slightly different copies of
the code is worse.
1996-11-17 02:03:08 +00:00
cgd
c5323239f6 add names and space for eb164 interrupt request counters 1996-11-16 23:11:57 +00:00
jtc
16b48272c4 Define _BSD_CLOCKID_T_ and _BSD_TIMER_T_ 1996-11-15 22:38:45 +00:00
cgd
6e3d55a53c clean up cpu type descriptions, in line with rev. 3 of the AARM 1996-11-13 22:26:41 +00:00
cgd
db5fd4e8e2 update copyright dates 1996-11-13 22:20:54 +00:00
cgd
6c9cb4aa9b compile cleanly with:
-Werror -Wall -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
1996-11-13 21:13:04 +00:00
cgd
45ba05f710 convert cpu-dependent routine selection to use a centralized CPU switch, thus
deleting (and cleaning up) N pages of #ifdefs in machdep.c.  While we're
at it, make the cpu type options generate flags, and check them instead of
kernel Makefile defines.
1996-11-12 05:14:27 +00:00
cgd
335926a2d0 add system type numbers up to 28, add the EV56 processor type number. 1996-11-11 20:59:02 +00:00
cgd
22b29b5058 prototype alpha_XXX_dmamap(), the alpha DMA mapping hack. 1996-10-25 20:48:59 +00:00
cgd
8f5cf31b8a clean up the recent reimplementation, and kill several bogons in the new
definitions.
1996-10-22 21:23:49 +00:00
cgd
48dc9aaae4 update alpha bus.h for new bus space interfaces. chipsets haven't
been updated yet, and the hacked DMA vto(busphys) macro is gone and
hasn't yet been replaced.
1996-10-22 18:06:54 +00:00
cgd
8f799be896 add a WEAK_ALIAS macro if building on an ELF-capable system, which creates
a weak alias for a symbol.
1996-10-17 18:33:53 +00:00
cgd
905f7abae1 Add __CONCAT and ___CONCAT to concatenate identifiers. Add LLABEL to
create an assembly label, and SYSCALLNUM to convert a syscall name into
the macro that's defined to be its number.  Add a CALLSYS_NOERROR macro
which invokes the named system call.  (CALLSYS_NOERROR is here since
it's used in locore, for sigcode.)
1996-10-17 02:49:04 +00:00
cgd
9da2b9743a define and call a new function, hwrbp_restart_setup(). It's called after
autoconfiguration to clear the RPB's per-cpu-slot BIP flag and to set up the
RPB's restart function pointers, etc.
1996-10-15 23:52:49 +00:00
cgd
01565a3ced typedef, not typeded 1996-10-13 19:57:59 +00:00
christos
7d1960f502 backout previous kprintf change 1996-10-13 02:59:38 +00:00
christos
b078069824 in_addr_t and in_port_t changes 1996-10-13 02:55:48 +00:00
cgd
b2f63215fc don't forget to switch back to the .text after emitting warning
strings in their own sections.
1996-10-12 18:08:12 +00:00
christos
a60beecedb printf -> kprintf, sprintf -> ksprintf 1996-10-10 23:44:49 +00:00
cgd
c11d591cfe add support for ELF toolchain, including weak alias support (for upcoming
libc changes) and reference warnings.
1996-10-09 22:41:54 +00:00
cgd
6d0af59ad0 change __va_list's "offset" field to be a 'int' to match what gcc now
uses, plus add a compatibility hack so that code compiled with old
versions of gcc (e.g. libraries) can work with code compiled with
new versions.
1996-10-09 21:13:04 +00:00
cgd
472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
cgd
d557a6a159 change md_coredump struct to actually reflect the machine-dependent stuff
that's dumped.  use it, rather than a hack, to export the info to user-land
(gdb).
1996-10-07 23:57:21 +00:00
cgd
c488b75b83 kill misnamed __indr_references() macro, that would have broken things
if it _had_ been properly named.
1996-10-04 19:30:04 +00:00
cgd
4588414318 move kvtol1pte outside of _KERNEL 1996-10-01 20:21:05 +00:00
cgd
0b1ff14ff3 first cut at alpha machdep kernel coredump header 1996-10-01 18:38:05 +00:00
cgd
acaf5ffad5 kill __BDEVSW_DUMP_OLD_TYPE 1996-10-01 14:26:18 +00:00
cgd
db9418238e add support for the prom 'write' operation. 1996-09-26 22:51:53 +00:00
cgd
64f4e1937e rename <machine/ecoff.h> to <machine/ecoff_machdep.h> for clarity and
consistency with the way machdep headers for other things are done.
(the creation of the ecoff_machdep.h files was done on the CVS server, to
keep the RCS logs intact.)
1996-09-26 22:39:14 +00:00
cgd
0e097578a2 add and use a machine-dependent header, which currently defines some
macros to use to remove #ifdefs from the machine ID case check.
Eventually, these headers will contain other information, e.g.
machine-dependent relocation information, etc.
1996-09-26 21:50:55 +00:00
cgd
5645b6ef46 simplify profiling entry. add 'label' argument tp PANIC, PRINTF, and MSG,
which is the label that the message string should be stored with.
1996-09-15 22:42:29 +00:00
cgd
e025186655 save and restore registers symmetrically. don't forget to restore PV (t12). 1996-09-15 22:33:28 +00:00
cgd
b9a7acad48 define a new frame buffer type code for the TGA2 1996-08-23 00:50:25 +00:00
cgd
c8fbe2de87 PSL_IPL_HIGH -> ALPHA_PSL_IPL_HIGH 1996-08-21 15:53:26 +00:00
cgd
a6ff68785e add cached dirbase PFN, protos for pmap_{,de}activate() 1996-08-20 23:02:59 +00:00
cgd
0a50735abb OLD_PMAP -> NEW_PMAP 1996-08-20 23:02:30 +00:00
cgd
8bc62db31e K0SEG_END is inclusive 1996-08-20 23:02:17 +00:00
cgd
ce626bee48 rename translation buffer invalidation macros to start with ALPHA_,
like all other macros defined in alpha_cpu.h.
1996-07-14 20:00:15 +00:00
cgd
3a2af0734c (1) Add machinery to make [fs]uswintr be a bit more careful when
determining if a fault was actually their fault.  (Unfortunately, they're
not actually implemented now, anyway.)
(2)     Minor cleanup.
1996-07-14 04:15:27 +00:00
cgd
5beb1a522c (1) Add unaligned access fixup code to fix unaligned quad, long,
and IEEE S and T floating datum loads and stores.  VAX floating data
types not yet supported, and in the future will only be supported if
FIX_UNALIGNED_VAX_FP is defined.  (No point in wasting the space when
most of the time there will never be VAX FP loads and stores.)  Right
now, these features can be controlled only by sysctl.  The (boolean)
integer sysctls machdep.unaligned_print, machdep.unaligned_fix, and
machdep.unaligned_sigbus control printing about unaligned accesses
(defaults on), fixing up of unaligned accesses (defaults on), and
forcing a SIGBUS on unaligned accesses (defaults off).  If an access
is not fixed up (for lack of method or explicit decision), a SIGBUS is
always generated to keep programs from using bogus data.  At some point,
these three choices should be controlled by per-process flags, as well.
1996-07-14 04:15:10 +00:00
cgd
5a367fefb1 (1) Clean up interrupt handling slightly.
(2)     Clean up badaddr() definition.
1996-07-14 04:12:59 +00:00
cgd
deb9f8f4b6 (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
(2)     Restructure and improve machine check and correctable error
handling based on information in the 2nd Ed. of the Alpha Architecture
Reference Manual.
(3)     Removed unused (and not likely useful) PALcode assembly stubs.
1996-07-14 04:12:46 +00:00
cgd
43dae279eb (1) Remove old trap definitions, define trap and interrupt handling
more naturally in terms of way the OSF/1 PALcode delivers traps and
interrupts.  Clean up fault/exception handling code and system entry
points.  Seperate ASTs into a seperate C function.
1996-07-14 04:12:03 +00:00
cgd
105697388d Instead of treating the trap/syscall/exception frame like a struct
containing a substruct (the hardware frame) and an array of registers,
treat it like one big array of registers, for easier and prettier
access.  Update everything to deal with that.
1996-07-11 05:31:16 +00:00
cgd
4d024971bf update to use new definitions in alpha_cpu.h 1996-07-11 03:46:00 +00:00
cgd
436a892738 Add definitions for:
Process Control Block
	Interrupt/Exception/Syscall Stack Frame
	Machine Check Error Summary Register
	Machine Check Logout Area
clean up some, and add prototypes for all of the CPU instruction and
PALcode function stubs.
1996-07-11 03:44:50 +00:00
cgd
b119b40c59 it compiles, but DEFINITELY does not run 1996-07-10 03:17:09 +00:00
cgd
77ba495772 temporarily move new pmap code into a seperate header, so changes to
one version won't spam people compiling with the option to get the other.
1996-07-09 22:22:25 +00:00
cgd
8c87bcbe93 definitions and constants which are part of the Alpha AXP
Architecture, and which relate to the OSF/1 PALcode.
1996-07-09 00:40:58 +00:00
cgd
2ba2d62b9b redefine lots of things in terms of definitions in alpha_cpu.h 1996-07-09 00:39:24 +00:00
cgd
48f29c8bc0 this file should not exist, for now 1996-07-09 00:38:37 +00:00
cgd
c3a7b67f3d Everything which would be defined here is defined in
alpha_cpu.h, and this file is no longer necessary for the
Alpha.  However, some machine-independent code (e.g.
/sys/compat/common/kern_exit_43.c) still wants a file with
this name to be around.
1996-07-09 00:37:51 +00:00
cgd
c2cd1ae6f5 profile_swpipl() -> _alpha_pal_swpipl() 1996-07-09 00:35:05 +00:00
cgd
04294813bd various cleanup, move setsoft* and spl* into intr.h. 1996-07-09 00:33:20 +00:00
cgd
29a40482db clean up comments, add OSF/1 rdmces and wrmces PALcode function calls. 1996-07-09 00:30:22 +00:00
cgd
2eab3353db delete cruft, clean up constants 1996-07-09 00:28:25 +00:00
cgd
808bbc3d50 minor cleanups to fit into the NetBSD source tree better (e.g. remove
RCS Log messages).  Haven't even tried to compile it yet.
1996-07-02 22:51:46 +00:00
cgd
255c6be565 pull in the Mach3 alpha pmap, as a base for the new pmap module. Modified
from the mach3 versions only as much as necessary to allow the old
NetBSD/Alpha pmap code to compile.  THESE WILL NOT WORK AS-IS, and at
minimum will require code to implement reference- and modified-bit
emulation.
1996-07-02 22:42:39 +00:00
cgd
9241c534de if OLD_PMAP defined, pull in <machine/pmap.old.h> and ignore the other
contents of this file.
1996-07-02 22:22:20 +00:00
cgd
1beca2d96b add a new machine-dependent sysctl, machdep.root_device, which is the
(string) name of the root device.  It's a string so that it can
be used before dev_mkdb has been run.
1996-06-14 20:40:46 +00:00
cgd
386aeb320f clean up copyright notices 1996-06-13 18:31:49 +00:00
cgd
d97900c6f4 boot device autodetection, using PROM's boot device environment variable.
This is a bit of a hack, as-is, since there's a lot of code that's
outright duplicated between the various files and because it doesn't
support detection of a network device as the root device.  The
latter's not a problem yet, because NetBSD/Alpha can't load the kernel
from the network to begin with.
1996-06-13 04:53:47 +00:00
cgd
d714189d53 implement bus_mem_subregion() and bus_io_subregion(). 1996-06-11 21:16:21 +00:00
cgd
37ec86f0cc avoid lots of upper-case letters in interrupt names. prettier that way. 1996-06-05 03:38:02 +00:00
cgd
666c7f6fd4 interrupt counters for TurboChannel systems. 1996-06-05 00:30:48 +00:00
cgd
c6dd609e7f gross hack to get around the fact that there are currently devices with
common back-ends that live on multiple very-different busses (e.g. PCI and
TC), which need bus-specific DMA mapping support.  As a nice side effect,
this will allow the especially nasty (vtophys(va) | 0x40000000) expressions
to go away in favor of less nasty bus-specific function calls.
1996-06-03 20:18:48 +00:00
cgd
a78f16f702 moved to ../tc 1996-05-17 23:41:36 +00:00
cgd
491ab6c2ed remove redundant header, now that ECOFF_SEGMENT_ALIGNMENT macro for
<sys/exec_ecoff.h> is fixed.
1996-05-09 23:52:19 +00:00
cgd
2daf9d8f3b change structure member names to be in line with what various ECOFF
documentation I have calls them, and update for new definitions in
sys/exec_ecoff.h.  Also, fix ECOFF_SEGMENT_ALIGNMENT macro so that it
actually returns the right alignment.
1996-05-09 23:47:25 +00:00
cgd
49c46e1789 Preliminary CFB support. Does not work as machine's console (for two
reasons: it won't attach as console, and there's currently no way to do
keyboard input on TC machines), and has no real RAMDAC (colormap, cursor,
etc.) support.  Digital UNIX does not support CFB frame buffers in the
Alpha, but they appear to work OK (with an appropriate monitor) in my
3000/300.
1996-05-01 23:25:00 +00:00
cgd
b65a5bbdfc preliminary SFB support. Does not work as machine's console (for two
reasons: it won't attach as console, and there's currently no way to do
keyboard input on TC machines), and has no real RAMDAC (colormap,
cursor, etc.) support.
1996-05-01 21:15:46 +00:00
cgd
85d72d56a2 add an entry for the SFB+, and clean up entries some 1996-05-01 19:44:21 +00:00
cgd
b2ab71db24 fix definition of the "Primary Eligible" RPB PCS processor variation field. 1996-04-29 16:23:09 +00:00
cgd
58a104f26a pal_halt doesn't return; give it a noreturn attribute.
Mark assembly that uses 'mb' as clobbering memory (pthreads does, and
it can't hurt).
1996-04-23 15:24:09 +00:00
cgd
5437babf6c prom_halt doesn't return; give it a noreturn attribute 1996-04-23 15:23:18 +00:00
cgd
ff0a52ccd9 define bus_io_{read,write}_multi_{1,2,4,8} functions, which read/write
multiple values from a single I/O port in to/out of an array of values.
1996-04-18 05:47:29 +00:00
cgd
cad6c2d600 capitalize IRQ names here, to match what's reported on boot 1996-04-13 00:25:24 +00:00
cgd
576c769331 clean up copyrights and RCS IDs 1996-04-12 06:07:05 +00:00
cgd
0da2610536 this file is no longer used 1996-04-12 05:35:51 +00:00
cgd
0e6af1ab55 keyboard and frame buffer interface include files, grabbed from the
sparc with minimal modifications, to make X go.  Should really be
trimmed down to include only the relevant information.
1996-04-12 01:45:41 +00:00
cgd
b6e9f99e08 TGA reg defns, moved here from ../pci for X. doesn't really belong here 1996-04-12 01:44:23 +00:00
cgd
59ca8b07e6 header which defines 'workstation console glue' ioctls 1996-04-12 01:43:06 +00:00
cgd
0af73c4da4 alpha sysarch header. right now, only defines (inline) alpha_rpcc() 1996-04-12 01:42:45 +00:00
cgd
a37e40ef1b the Alpha implementation of <machine/intr.h> 1996-04-12 01:42:17 +00:00
cgd
84b2d703c7 the Alpha implementation of <machine/bus.h> 1996-04-12 01:39:34 +00:00
cgd
b151b7e326 these have moved elsewhere 1996-04-12 01:38:51 +00:00
cgd
0e1f086279 add XOPEN constants, clean up 1996-04-12 01:38:25 +00:00
cgd
4bdd407757 update copyright 1996-04-12 01:36:51 +00:00
cgd
f695b5badd use jmp, rather than br, in the JMP macro 1996-04-12 01:35:58 +00:00
jtc
2ce5f1478b Add _BSD_WINT_T_ definition so we can handle wint_t type added in NA1. 1996-03-16 01:31:45 +00:00
cgd
18ec26aa21 add _MACHINE and _MACHINE_ARCH, which are like MACHINE and MACHINE_ARCH,
execpt without quotes.  meant to be __CONCAT()ted for easy #includes
of machine-dependent headers for MI code (e.g. for the MI ISA/EISA/PCI/TC
bus code).
1996-03-04 05:04:10 +00:00
mycroft
88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
mycroft
cd8fe86bcb Make the type of __builtin_va_list a long. 1995-12-26 01:16:24 +00:00
mycroft
c098d54e0a Stylistic changes. 1995-12-26 00:15:47 +00:00
mycroft
ce000f04ef Remove deprecated cpu_setstack(). 1995-12-21 05:01:32 +00:00
cgd
17f70e1910 portability definitions for machine-independent TC configuration code. 1995-12-20 00:09:29 +00:00
cgd
b206d2fe18 move DELAY's functionality into delay() 1995-12-20 00:08:43 +00:00
cgd
deb4082f80 wholesale update from my NetBSD/Alpha source tree. Includes:
Support for AXPpci CPUs,
	Support for AlphaStation 600 CPUs,
	new boot block structure, which requires an 'installboot'
	    program and works a lot like the NetBSD/sparc boot blocks.
1995-11-23 02:33:17 +00:00
mycroft
c5ec5c3003 Add splsoftnet(). 1995-08-13 00:03:11 +00:00
cgd
67e0ffcf73 bump NKMEMCLUSTERS up to 4M (increase of 4x) 1995-08-03 00:51:00 +00:00
cgd
d6eba5b92f rename MB to wbflush, make it inline 1995-08-03 00:03:09 +00:00
cgd
479fb9e45b add <sys/cdefs.h> inclusions. namsspace-protect physadr, label_t
def'ns against _POSIX_SOURCE and _ANSI_SOURCE.
1995-07-06 03:39:32 +00:00
cgd
c83f9c5568 remove unused cpu_exec() definitions. moved "broken swap" markers, for
ports that still need it, to types.h.
1995-06-28 02:55:18 +00:00
cgd
d4a54b73d2 kill user-land DELAY macro, as suggested by gwr. 1995-06-28 02:43:36 +00:00
cgd
5cc82e159a Support for ISA programmed I/O functions. 1995-06-28 01:16:33 +00:00
cgd
ba164ee03d update for various (old) NetBSD changes 1995-06-28 01:16:13 +00:00
cgd
f36f0cf3e2 update to make current state of knowledge 1995-06-28 01:14:41 +00:00
cgd
2d49c3885b clean up definitions of ctod(), dtoc(), ctob(), btoc(), btodb(), and
dbtob().  remove unused definitions of ctos(), stoc(), and dtob().
1995-06-26 06:55:38 +00:00
cgd
1c0be437b1 define __BDEVSW_DUMP_OLD_TYPE for ports where it's true. clean up
some m68k ports inclusion of common header.
1995-06-26 05:13:37 +00:00
jtc
55fbbc705d Wrap with #ifndef _XXX_FLOAT_H_/#define _XXX_FLOAT_H_/ ... /#endif. 1995-06-20 20:45:22 +00:00
jtc
1d65cdd4ab #include <sys/cdefs.h>.
Wrap __flt_rounds() declaration with __BEGIN_DECLS/__END_DECLS.
1995-06-20 20:32:22 +00:00
cgd
8703076975 define BROKEN_SWAP and/or cpu_swapout as appropriate. 1995-05-05 03:41:51 +00:00
cgd
66927585fc make an __indr_references macro, that expands to nothing... 1995-05-03 00:13:55 +00:00
cgd
7cc5a0ed42 make FLT_ROUNDS call __flt_rounds, so dynamic rounding mode is grabbed. 1995-04-29 05:45:44 +00:00
cgd
18d9d7e5ef first cut of the alpha version. 1995-04-29 01:09:17 +00:00
christos
de42a28a1b - added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
1995-04-22 20:24:40 +00:00
mycroft
22cefc03bc Bring back pmap_kernel(), for now always inlined as a pointer to
kernel_pmap_store.
1995-04-10 12:41:29 +00:00
jtc
71ab4ed9dc KERNEL -> _KERNEL 1995-03-28 18:13:48 +00:00
cgd
804b49ae1f remove support for double-mapping the user area/kernel stack 1995-03-24 15:01:31 +00:00
cgd
f2682e8576 fill in sysnames for the 300 family 1995-03-24 15:00:51 +00:00
cgd
b8403d582b don't be so quick to cast macro arguments to unsigned; if the
arguments are really off_t's (e.g. to btodb), then you can lose
information.  This was the "> 4G file systems don't work" bug; physio
uses btodb, which was broken.
1995-03-18 07:22:43 +00:00
cgd
dd5a5290f2 update from my local tree; better CPU configuration, support for 3000/300. 1995-03-08 00:38:44 +00:00
cgd
d5300f2692 update for NetBSD's header standards, kill OSF/1 cc hacks. 1995-02-16 03:08:04 +00:00
cgd
85854cb4ad preliminary Alpha support. note that NOT ALL OF THE MODIFICATIONS TO
THE REST OF THE KERNEL ARE IN THE TREE YET.  Also, some of this is
_incredibly_ hack-ish, etc., but it works.
1995-02-13 23:06:39 +00:00