Commit Graph

708 Commits

Author SHA1 Message Date
cgd 7db6ff8449 move the sync() calls to the correct place... 1997-01-18 00:27:50 +00:00
cgd 8523a4deff add padding to structures for future expansion. add a netbbinfo
structure to allow netboot information to be hard-coded in network
boot blocks, so that they can be made to work even on systems with
firmware which doesn't support the new "ethernet address in boot device"
convention.
1997-01-18 00:24:15 +00:00
cgd 7e7bb6e04d clean up a bit. include libraries more carefully, so that when compressed
read code is integrated into libsa things will work properly.
1997-01-17 21:14:31 +00:00
cgd 71db072b94 update copyright 1997-01-16 20:41:54 +00:00
cgd 1a2b5aa691 clean up, deal with secondary bootstrap programs not on 'a' partition
'a' partition not starting at 0.
1997-01-16 20:40:05 +00:00
cgd 274cf3fbf9 move the secondary bootstrap down (to 0x20004000), and add a HEAP_LIMIT
so that we don't exhaust our bootstrap address space (when using the new,
not yet checked in, memory allocator).
1997-01-16 07:50:34 +00:00
cgd cfe73ab59b clean up 1997-01-16 03:00:22 +00:00
cgd 3fb0a713f5 seriously clean up makefiles. use libsa/libkern/libz as appropriate,
and don't build the various sources into objs locally by specifying
them directly in the Makefiles.
1997-01-16 02:59:08 +00:00
cgd 653e0e50fe more carefully include libkern and libsa headers 1997-01-16 01:21:36 +00:00
cgd 904a2dc374 link installboot statically, and include libutil 1997-01-16 01:20:24 +00:00
cgd 942c20dfac change the fixed delay to allow serial console output to settle
to something smarter, suggested by Charles Hannum.
1997-01-15 22:13:36 +00:00
perry b89a3425b7 Eliminate obsolete TIMEZONE and DST options.
Eliminate obsolete global kernel variable "struct timezone tz"
Add RTC_OFFSET option
Add global kernel variable rtc_offset, which is initialized by
RTC_OFFSET at kernel compile time.
on i386, x68k, mac68k, pc532 and arm32, RTC_OFFSET indicates how many
minutes west (east) of GMT the hardware RTC runs. Defaults to 0.
Places where tz variable was used to indicate this in the past have
been replaced with rtc_offset.
Add sysctl interface to rtc_offset.
Kill obsolete DST_* macros in sys/time.h
gettimeofday now always returns zeroed timezone if zone is requested.
settimeofday now ignores and logs attempts to set non-existant kernel
timezone.
1997-01-15 01:28:28 +00:00
cgd 328e19f5fb useful suggestion from jason: make this simply an 'include' of the
GENERIC kernel config with the added ramdisk-hook-enabling bits!
1997-01-14 23:37:59 +00:00
cgd 46b965ab4a useful suggestion from jason: make this simply an 'include' of the
GENERIC kernel config with the added profiling bits!
1997-01-14 23:32:00 +00:00
cgd b701ee6fea comment out 'options GATEWAY' by default.
add PPP_BSDCOMP and PPP_DEFLATE.
add ipfilter pseudo-device, and sort the pseudo-device list to recover
    from the renaming of 'rd' to 'md'.
1997-01-14 23:20:37 +00:00
cgd 1db761a1be add cd9660, msdosfs file system support.
add SysV Shared Memory support, since it can be used by the X server.
add 'ppp' to the list of pseudo-devices, and sort the list to recover
    from the renaming of 'rd' to 'md'.
other slight cleanups.
1997-01-14 23:18:17 +00:00
mikel aed485cdf2 add 'pseudo-device ccd' where necessary; PR kern/1830. 1997-01-11 09:11:37 +00:00
mrg c71a371532 use pseudo-device ipfilter, not ipl. 1997-01-07 11:35:01 +00:00
cgd ebabdb626a dd bdevsw and cdevsw entries for floppy disk driver (not currently usable),
and cdevsw for ipl (IP filter).
1997-01-06 23:28:09 +00:00
pk 84a0f13e4c RAMDISK_HOOKS => MEMORY_DISK_HOOKS 1997-01-01 23:12:23 +00:00
pk c4a0dfb011 omission in last commit: ramdisk.h => md.h 1996-12-28 23:50:44 +00:00
pk 114271a083 rename: ramdisk => md 1996-12-28 23:10:44 +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 50cb6df652 for now, -Wcast-qual is just not practical in the kernel 1996-12-22 08:33:19 +00:00
cgd fc841ac711 __asm rather than asm, to make lint happy without -g 1996-12-19 09:13:44 +00:00
cgd c591d26932 update for recent com.c changes: delete references to now-nonexistant
comconsinit variable.
1996-12-17 23:21:53 +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
thorpej d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +00:00
cgd e4f6e48c7d kill the last vestiges of __BROKEN_INDIRECT_CONFIG. 1996-12-10 19:33:51 +00:00
cgd e9abc8540f remove all traces of __BROKEN_INDIRECT_CONFIG (except in shared drivers) 1996-12-08 00:22:08 +00:00
cgd 6dbb1548bd kill __BROKEN_INDIRECT_CONFIG 1996-12-07 22:43:17 +00:00
cgd fb18e1fda9 oops; have to cast PS_STRINGS away from pointer 1996-12-07 22:36:28 +00:00
cgd 0e3d6291e3 note what each of the argument registers in setregs() will be used
for by crt0.  Actually clear a1 and a2, because unless a shared loader (i.e.
_not_ the kernel) set them when invoking crt0, they should be zero, and
the kernel DEBUG code wouldn't necessarily have them be.  Pass a pointer
to the proc's ps_strings structure in a3.
1996-12-07 19:45:14 +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 8b6a32d1c1 update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
1996-12-05 01:39:27 +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
mycroft 7cec90e7ea Fix a race condition in tcds_scsi_isintr().
Also, remove the annoying and bogus `empty FIFO of N' message.
1996-12-04 22:35:08 +00:00
cgd a06362dc8e do_sir lowers the IPL itself, now 1996-12-03 19:54:16 +00:00
cgd b74e03da21 fix a couple of bogons in the last two, and clean up slightly 1996-12-03 19:52:58 +00:00
cgd 882fa5a35d try that last one again. 1996-12-03 18:11:40 +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 a04fb885d8 clean up SCSI devices 1996-12-03 17:25:27 +00:00
cgd 81e9bda988 convert to use bus_space_set_region_2() and bus_space_copy_2(), rather
than in-line clear and copy loops.
1996-12-02 22:24:54 +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
cgd e6bafb00d6 declare the single-datum read and write methods as inline, so that
the multi and region methods can inline them.
1996-12-02 06:12:39 +00:00
jonathan 4c1d96de78 * Replace explicit -O2 in CFLAGS with COPTS macro. Default COPTS?= -O2.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.

  Leave `mandatory' flags (like  -msoft-float which  on m68k enforces no
  FP in kernel) in CFLAGS.
1996-12-01 06:12:25 +00:00
jtc 9da5f60715 PROF -> GPROF 1996-11-30 02:48:57 +00:00
pk f5f35b104f Sync with sparc port:
>Pay attention to DMA errors as reported by DMAINTR() returning -1. If this
>happens reset everything.
>
>Re-schedule a timeout when first attempting to abort an operation.
>Cancel any queued timer events before re-scheduling a timeout, so esp_abort()
>can be called from other places besides the timeout handler.
1996-11-27 21:38:35 +00:00
cgd e338e3526d when panicing because of a fatal trap, print the trap's type name, as well
as its kernel entry number.
1996-11-27 01:28:30 +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 366a586e85 if we're going to do a real match (we are), ahve to special-case console 1996-11-27 01:20:26 +00:00
cgd 2f1d32e181 note eb164 support 1996-11-26 15:58:04 +00:00
cgd 98c4f0c312 add a comment re: eb164 1996-11-26 15:46:24 +00:00
cgd f9d0b7e37f fix up field names for recent rpb.h changes 1996-11-25 16:18:16 +00:00
cgd acf2644128 update for recent configuration changes. 1996-11-25 04:16:15 +00:00
cgd abbe7f24f1 update for eb164 file addition, apecs & lca bus space function split
file additions/deletions, pcppi file addition, and pckbd & pms attachment
changes.  also, clean up a couple of comments.
1996-11-25 04:03:21 +00:00
cgd 003fda43da update for chipsets' init functions' new prototypes 1996-11-25 03:59:19 +00:00
cgd 97927bdd99 update for new extent management code. Most importantly, we can't call
the chipset space init functions multiple times, since that would clobber
extent allocations made between the two calls.  Also, deal with the
fact that the APECS and LCA no longer shared common chipset functions.
1996-11-25 03:56:48 +00:00
cgd 77baf28d70 update for new extent management code. Most importantly, we can't call
the chipset space init functions multiple times, since that would clobber
extent allocations made between the two calls.
1996-11-25 03:55:46 +00:00
cgd 7a1799b561 update for new extent management code, and for apecs/lca space access fn split 1996-11-25 03:49:36 +00:00
cgd 608a9f3065 update for new extent management code 1996-11-25 03:49:11 +00:00
cgd 6d7b2d82a7 make eb164 interrupts actually work. 1996-11-25 03:47:05 +00:00
cgd 8b50c9af38 reimplement, so that it works with the new extent mapping code. 1996-11-25 03:46:07 +00:00
cgd fe6262c3c0 split the APECS and LCA bus memory and I/O functions. Most of them still do
the same things, but the extent maps have to be managed differently,
since the two chipsets provide different memory and I/O region mapping
possibilities.
1996-11-25 03:42:09 +00:00
cgd 1a45dbd671 update these to set up and use extents to map i/o space, and sparse and
dense memory.
1996-11-25 03:37:23 +00:00
cgd 25450fc448 hide a bogosity by not printing a message when pms not attached 1996-11-25 03:30:43 +00:00
cgd d35047f37b Add a primitive driver for the PC-ish Programmable Peripheral Interface
and PC-ish keyboard controller.  (Actually, on alphas, the built-in PPI
(in the SIO) appears to be a lobotomized version of the original, but
i'd not call that a bad thing.)  This driver should eventually handle all
speaker tone requests and keyboard commands, but for now it just maps
the relevant ports and passes them on to the keyboard and mouse drivers,
which are now its children (rather than children of ISA).
1996-11-25 03:26:33 +00:00
cgd 8c007e0e48 use set_pci_isa_bridge_callback() to delay ISA/EISA bus attachment until
after PCI tree has been completely probed.
1996-11-25 03:15:24 +00:00
cgd e29fc4fb1d sync up with pk's commit to the sparc port:
>One control block per target is insufficient if you have a full complement
>of targets attached and access those simultaneously (like in a ccd(4) array).
>We (now) allocate (somewhat arbitrarily) three per target.
>Noticed by Marshall Midden.
1996-11-24 04:21:30 +00:00
cgd abf0b7c010 deal with the fact that apparently-common revisions of EB164 firmware
don't machine check when a PCI Master Abort is signalled.  This can
happen, for instance, when configuration space for a device that isn't
present is examined.  When this is detected, act like we normally would
when machine checks are posted while examining nonexistant devices.
1996-11-23 06:46:50 +00:00
cgd ff523f9080 fix HAE_MEM_REG3_START definition (shift was incorrect). Add CIA_CSR_CIA_ERR
register definition.  (should define bits in CIA_CSR_CIA_ERR, but haven't
done that yet.)
1996-11-23 06:42:55 +00:00
cgd 574633aea2 add definitions for LCA_IOC_HAE contents. Add a REGVAL64 macro, like
REGVAL but good for 64-bit chipset registers.
1996-11-23 06:41:00 +00:00
cgd 7aefe04c3e update for new names for ISA VGA console match and attach functions 1996-11-23 06:38:49 +00:00
cgd fc7b72ee10 move interrupt establishment to just before clock interrupts are
enabled (from the attach routine), and add comments as to why.
Some PALcode apparently 'saves' a clock interrupt for the kernel,
and if the clock interrupt handler is enabled at attach time, it
will be run when that interrupt hits, i.e. right after the spl0()
at the end of autoconfiguration.  That would cause hardclock to be
run, but proc0's p_stats isn't set up by then, which would cause
hardclock to crash.
1996-11-23 06:31:57 +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 d22ab75ff0 clean up match: check args more carefully, make sure I/O space can be mapped 1996-11-23 06:21:43 +00:00
cgd 335c1af878 move probe and setup code into common functions. always probe (i.e.
even if PCI and the IDs are right), just for sanity, before declaring
success.  Split the single 0x3b0 -> 0x3df allocation into three seperate
ones: 0x3b0 -> 0x3bc (leaving the 4 ports available for lpt),
0x3c0 -> 0x3cf, and 0x3d0 -> 0x3df.  The former chunk has to be split
off if the lpt can exist there, and it's sort-of pretty to have each
group (based on second hex digit) have its own handle.
1996-11-23 06:06:43 +00:00
cgd 31cc61b793 try mapping the I/O space (as well as the memory space) in the probe routine. 1996-11-20 20:04:53 +00:00
cgd 7b52699cfd catch up with wscons frame buffer attachment, mmap, and ioctl
interface changes.
1996-11-19 05:23:07 +00:00
cgd 1c90055b77 clean up wscons frame buffer attachment interface slightly. Make
ioctl and mmap routines take a void *, rather than a struct device *,
so that they can be set up to work more easily when using a 'struct device *'
isn't appropriate.  Add a cookie (void *) to be passed to the mmap and
ioctl routines.  Rename a few struct members, and shuffle them into
a more sensible order.
1996-11-19 05:17:00 +00:00
cgd a1476167f8 update for ISA VGA frame buffer possibily 1996-11-19 05:08:36 +00:00
cgd f3415af098 update for VGA-related changes 1996-11-19 04:57:32 +00:00
cgd 2b4df4f147 implement isa_display_console(), to be used when console is an ISA display dev 1996-11-19 04:54:43 +00:00
cgd 8529bfe399 add an isa_display_console() function, to be used when console is an ISA dev 1996-11-19 04:53:07 +00:00
cgd bf371611ab fix spelling error 1996-11-19 04:49:21 +00:00
cgd e6a9d46085 update for VGA changes, and clean up slightly. 1996-11-19 04:43:55 +00:00
cgd adc49e3c06 update for VGA changes and shared_intr.c move 1996-11-19 04:40:26 +00:00
cgd 2c43c05bc2 replace old PCI VGA driver with a common VGA back-end and ISA and PCI
front-ends.  Unfortunately, because of the way ISA and PCI are currently
probed, if you have a PCI VGA board in your machine and both drivers
in your kernel, the ISA VGA driver may accidentally match the PCI board.
For now, the only solution to this is to not put both drivers in
the GENERIC kernels.
1996-11-19 04:38:32 +00:00
cgd bb2c8c35d7 this has moved to sys/arch/alpha/common. 1996-11-19 01:34:26 +00:00
cgd e35cd5615f implement interrupt enable/disable and mapping as described in
the Digital Semiconductor AlphaPC 164 Motherboard Technical Reference
Manual.  This may not work, but it's the best i can do with the
documentation I have.
1996-11-17 02:30:25 +00:00
cgd ccc668e0d7 use the new common chained-interrupt support code. 1996-11-17 02:05:26 +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 bbb8f63dae clean up some 'system not supported' printfs 1996-11-17 01:59:35 +00:00
pk 336790c5a2 Sync with sparc revision 1.61:
Add explicit casts to `%l*' formatted arguments.
1996-11-16 23:17:18 +00:00
cgd c5323239f6 add names and space for eb164 interrupt request counters 1996-11-16 23:11:57 +00:00
cgd 2e5bc1461a panic with "bogus size" if ncols or nrows is <= (not just <) 0 1996-11-16 23:10:06 +00:00
cgd f48eac49ba compile with -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes
-Wcast-qual, even if DEBUG isn't defined.
1996-11-16 23:07:40 +00:00