Commit Graph

47821 Commits

Author SHA1 Message Date
simonb 97b16e911f Move the DSISR SPR bit definitions from <powerpc/mpc6xx/pte.h> to
<powerpc/spr.h>.  Remove unused ISI/SRR1 bit definitions.
2001-06-19 07:14:23 +00:00
oster 0e8f8213af A bunch of these bits are only needed for the EVENODD stuff.
Shaves a little better than 1K off the size of an i386 kernel.
2001-06-19 03:25:16 +00:00
christos 495370b307 add x86_64 2001-06-19 02:49:05 +00:00
fvdl ba22234cb4 .s -> .S for microtime 2001-06-19 02:06:52 +00:00
fvdl 4880ff208d Forgot this one. This is basically a copy of the i386 version;
needed because the sim provides this, likely to be nuked later.
2001-06-19 02:06:15 +00:00
fvdl 653103e16a This was previously missed. 2001-06-19 01:58:46 +00:00
fvdl 090a2bb9f1 Fix typo in comment. 2001-06-19 01:40:42 +00:00
fvdl 2563e4390d Add IDs for x86-64. 2001-06-19 00:41:53 +00:00
fvdl fe75469d65 Some of this was sparc-specific, so ifdef __sparc__ it (XXX). Also,
change the alignment of one structure with an MD ifdef. Should
be moved into the netbsd32_machdep parts.
2001-06-19 00:36:21 +00:00
fvdl 9b4c0e34d2 Initial commit of the port to AMD's upcoming 64 bit architecture, the
x86-64. Since there's no hardware available yet, this port is only
known to run on the Simics simulator for at the moment, and as such
uses the PC devices that it simulates for now. It will be developed
more (and cleaned up) as the hardware becomes available.
2001-06-19 00:19:12 +00:00
thorpej 9c9eba63ec Add gsip(4), gphyter(4), and sf(4) drivers. 2001-06-18 22:45:54 +00:00
thorpej 7478f1c9a3 Add sf(4), gsip(4), gphyter(4) drivers. 2001-06-18 22:40:19 +00:00
bjh21 cb36bacea5 Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S
into arm/arm/bus_space_notimpl.S.  They were identical anyway.

This file has no excuse for being in assembler, but I'll leave that for another
day.
2001-06-18 22:26:15 +00:00
thorpej 62224968e1 Add support for the Adaptec AIC-6915 10/100 Ethernet. This is
a 64-bit PCI chip, available in 1, 2, and 4 port models.
2001-06-18 22:05:35 +00:00
bjh21 80c5d7ab99 Move <arm/arm32/bus.h> to <arm/bus.h>, since it looks like it's going to be
necessary on arm26 as well.
2001-06-18 21:37:32 +00:00
bjh21 743e0579d1 Remove "defopt FOOTBRIDGE" -- it's in files.footbridge now. 2001-06-18 20:49:14 +00:00
mrg cbe144f269 copy tlb_flush*() #defines here, but rename them tlb_flush*_real(). this
allows for tlb_flush*() to be defined differently if MULTIPROCESSOR.
2001-06-18 15:42:06 +00:00
nonaka 03e1e2dc99 Add bus_dma entry. 2001-06-18 14:04:39 +00:00
onoe 319ea4a342 make it compilable: delete unused variable 'ifa' from lance_ioctl() 2001-06-18 13:47:18 +00:00
onoe c07d2e1e96 Add Cisco/Aironet 350
Reported by Wolfgang Rupprecht <wolfgang@wsrcc.com>.
This doesn't fix PR 13181, which says the card doesn't work well.
2001-06-18 13:21:24 +00:00
onoe e523b2f091 regen: Add Cisco/Aironet 350 2001-06-18 13:19:07 +00:00
onoe 61285ac2da Add Cisco/Aironet 350 2001-06-18 13:18:08 +00:00
martin 91a63a0595 Protect interface queue manipulations by splnet(). Splsoftnet() is not
enough.
2001-06-18 12:32:47 +00:00
rafal 9e735123dc mmeye (as the text says) is sh3, not arm. 2001-06-18 11:50:07 +00:00
bjh21 c5b2129e84 Re-write arm26 description, and remove mention of "Acorn Risc Machines" from
the arm32 description, since they were Advanced by the time the ARM6 came out,
and are now just ARM.
2001-06-18 11:48:28 +00:00
wiz 5e33503d64 Fix typo. 2001-06-18 11:36:47 +00:00
uch 51b515b09a recompile. 2001-06-18 11:31:32 +00:00
uch 376c55b2be arm, mips: forgot to initialize boot console. 2001-06-18 11:31:04 +00:00
wiz ccfe29f3cf Symmetric has one s and two m's. 2001-06-18 11:23:00 +00:00
jdolecek e65b619faa Convert to use ether_ioctl() for SIOCSIFADDR and SIOCSIFFLAGS. 2001-06-18 11:06:26 +00:00
jdolecek 176beeea9e Make compilable with -Wall, in hope this could be actually useful
(which is unlikely)
2001-06-18 09:57:27 +00:00
bouyer 49ed2592ce Add my copyrigth and remove the older ones. None of the original authors of
the st driver wrote something in this file.
2001-06-18 09:41:06 +00:00
bouyer 0a63f01fef Snapshot of ATAPI tapes support. Known to be able to read/write to tape with:
st0 at atapibus0 drive 1: <Seagate STT8000A, , 5.51> type 1 sequential
removable
Major changes may still happen in order to properly support other ATAPI
tape drives.
2001-06-18 09:05:05 +00:00
sommerfeld b10656ba32 Delete dead code.
Mask segment registers from trap frame with 0xffff for cleanliness.
2001-06-18 03:33:59 +00:00
sommerfeld 926b6ff132 since seg regs are 16 bits, toss high order bits from the trapframe 2001-06-18 03:32:14 +00:00
christos 59abdecf4b Add a linux specific trapsignal() function. This is just a passthrough
on all platforms but the i386. On the i386 we look at T_PROTFLT and send
a SIGSEGV instead of SIGBUS. This makes allegro lisp 5.0 and pvs (a proof
verification system) to work.

XXX[1]: We need to go through each architecture and verify that we send
        the correct signal on each trap type.
XXX[2]: trap.c on all other architectures but i386 needs to be modified
        to s/trapsignal/(*p->p_emul->e_trapsignal)/g
2001-06-18 02:04:42 +00:00
christos 0f380fac15 Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +00:00
simonb 1506d21315 Make error checking/reporting a little more correct. 2001-06-18 01:58:08 +00:00
sommerfeld 7e7d262c34 Add %fs/%gs to trap frame and save/restore them on
trap/interrupt/syscall entry from userspace.

Remove special-case "by hand" validation of fs/gs register values as
well as special handling of them in various signal handling paths.

Now, like %ds and %es, they are validated by the hardware on return to
userland.

This paves the way for the use of %fs for per-cpu data on
multiprocessor systems, and fixes an otherwise difficult-to-fix
interaction between threads/clone(2) and USER_LDT.

Discussed in advance with Frank van der Linden.
2001-06-17 21:01:32 +00:00
tsubai 1614d87d0e Support the new iBook. 2001-06-17 19:54:47 +00:00
tsubai de98ab5b38 Regen. 2001-06-17 19:51:27 +00:00
tsubai b63b6d01e6 Add device IDs on the new iBook. 2001-06-17 19:50:33 +00:00
tsubai 91f99e1981 Forgot to commit this -- move file .../bus_dma.c line to files.${machine}. 2001-06-17 19:32:17 +00:00
jdolecek adaaf11f9f make pckbc_slot_names[], pckbc_portcmd const 2001-06-17 16:15:41 +00:00
nonaka 31794a5423 NEWPMAP 2001-06-17 16:01:28 +00:00
nonaka b83f37566d identified prep model. (I missed it...) 2001-06-17 15:59:57 +00:00
nonaka 5098ff59f6 identified prep model. 2001-06-17 15:57:11 +00:00
thorpej 97354efd4d More corrections. 2001-06-17 14:54:29 +00:00
kleink abaced98c3 Fix context handling for 32-bit environments:
* Really pass PSR ICC bits instead of raw CCR.
* Don't touch ASI and FPRS, which are not part of the 32-bit mcontext.
Also, correct printf conversions in svr4_printmcontext.
2001-06-17 14:39:32 +00:00
simonb 56151c1fef Make this compile and work for the IBM 4xx series CPUs. 2001-06-17 13:39:33 +00:00
simonb d70d5d1ee0 Use _C_LABEL() for externally referenced symbols. 2001-06-17 13:39:02 +00:00
simonb 0647591d3a Globalise "trapexit" for new ddb tracing changes. 2001-06-17 13:38:33 +00:00
simonb 91817c8f5e s/workstations/machines/ for pmax and sgimips. Make the description of
the walnut more technically correct.
2001-06-17 13:37:01 +00:00
kleink db52b31344 Save/restore only the FP register file as far as the 32-bit environment
is concerned; in particular, don't overrun the [mu]context.
2001-06-17 13:10:05 +00:00
perry 407eec5184 minor fixes 2001-06-17 04:10:16 +00:00
lukem 24c92d43e5 minor typo 2001-06-17 00:48:28 +00:00
cyber 662f93aeeb Change the way boot strings are handled and the way the root device
is determined.  This allows multiple internal disks in a raq2 to work.
2001-06-17 00:11:40 +00:00
christos 38527630e2 fixes from perry 2001-06-16 23:17:34 +00:00
christos 002c8b43f1 Add a list with a brief description of each ports. With 43 ports right
now it is a bit tough to collect all the information.

XXX: Portmasters, or people who know better, please correct any mistakes.
2001-06-16 23:04:15 +00:00
manu ff5ce5bd93 Removed obsoletes EMUL_NO_BSD_ASYNCIO_PIPE and EMUL_NO_SIGIO_ON_READ flags.
Async I/O OS specifities should now handled in OS specific code. Linux
has been done, but other emulation should be handled. See case LINUX_F_SETFL
in sys/compat/linux/common/linux_file.c:linux_sys_fcntl() for more details.

The data that has been collected yet:

                                  Net Free Open Linux SunOS AIX OSF1 Darwin
send SIGIO to write end of pipe     Y  N    N     N     N    N   Y     Y
send SIGIO to read end of pipe      Y  Y    N     N     N    ?   Y     ?
send SIGIO to write end of socket   Y  Y    Y     N     N    Y   Y     Y
send SIGIO to read end of socket    Y  Y    Y     Y     Y    ?   Y     ?
2001-06-16 22:05:36 +00:00
manu a7cdf998ec Removed obsoletes EMUL_NO_BSD_ASYNCIO_PIPE and EMUL_NO_SIGIO_ON_READ flags.
Async I/O OS specifities should now handled in OS specific code. Linux
has been done, but other emulation should be handled. See case LINUX_F_SETFL
in sys/compat/linux/common/linux_file.c:linux_sys_fcntl() for more details.

The data that has been collected yet:

                                  Net Free Open Linux SunOS AIX OSF1 Darwin
send SIGIO to write end of pipe		Y  N    N     N     N    N   Y     Y
send SIGIO to read end of pipe      Y  Y    N     N     N    ?   Y     ?
send SIGIO to write end of socket   Y  Y    Y     N     N    Y   Y     Y
send SIGIO to read end of socket    Y  Y    Y     Y     Y    ?   Y     ?
2001-06-16 21:44:27 +00:00
manu ce10f4da5b Linux does not send a SIGIO to the write end of a socket,
neither it does send any SIGIO for pipes. If async I/O
was requested, we keep the SS_ASYNC in struct socket flag
set, but we clear SB_ASYNC flags on the sending buffer
(for socket), and on the sending and the receiving buffer
(for pipes).

Because we do not alter to SS_ASYNC in struct socket,
the Linux process keeps a consistent view of async I/O
status if it attemps to read the async flag (SS_ASYNC)

This async I/O problem does matters, since some Linux
a programs such as the JDK request async I/O on pipes,
but they fail if they happen to get a SIGIO to the write
end of the pipe.
2001-06-16 21:32:51 +00:00
manu 94a4020177 Use SB_ASYNC in struct sockbuf sb_flags field instead of SS_ASYNC in
struct socket so_state field to decide if we need to send asynchronous
notifications. This makes possible to request notification on write but
not on read, and vice versa.

This is used in Linux emulation code, because when async I/O is requested,
Linux does not send SIGIO to write end of sockets, and it never send any
SIGIO to any end of pipes. Il Linux emulation code, we then set SB_ASYNC
only on the read end of sockets, and on no end for pipes.
2001-06-16 21:29:32 +00:00
tsutsui 01704d0990 Add iha at pci, which just works on my CATS. 2001-06-16 13:58:18 +00:00
toshii bf923a99b8 Don't set HPCFB_SWAP_BYTE (if little endian). 2001-06-16 12:53:05 +00:00
jdolecek 60a45fb944 export sys/pipe.h 2001-06-16 12:02:13 +00:00
jdolecek ee882e3a09 Add port of high performance pipe implementation written by John S. Dyson
for FreeBSD project. Besides huge speed boost compared with socketpair-based
pipes, this implementation also uses pagable kernel memory instead of mbufs.

Significant differences to FreeBSD version:
* uses uvm_loan() facility for direct write
* async/SIGIO handling correct also for sync writer, async reader
* limits settable via sysctl, amountpipekva and nbigpipes available via sysctl
* pipes are unidirectional - this is enforced on file descriptor level
	for now only, the code would be updated to take advantage of it
	eventually
* uses lockmgr(9)-based locks instead of home brew variant
* scatter-gather write is handled correctly for direct write case, data
  is transferred by PIPE_DIRECT_CHUNK bytes maximum, to avoid running out of kva

All FreeBSD/NetBSD specific code is within appropriate #ifdef, in preparation
to feed changes back to FreeBSD tree.

This pipe implementation is optional for now, add 'options NEW_PIPE'
to your kernel config to use it.
2001-06-16 12:00:02 +00:00
jdolecek 02d39f046b Import FreeBSD sys/pipe.h rev 1.17 for reference (this was used as a base
for the NetBSD port).
2001-06-16 09:23:11 +00:00
jdolecek 664cf935c7 Import FreeBSD sys_pipe.c rev 1.82 for reference (this was used as a base
for the NetBSD port).
2001-06-16 09:21:34 +00:00
dbj ef86c3badd fix handling of transmit length calculation so we now handle full length xmits 2001-06-16 09:18:46 +00:00
dbj e9d708e25b allow unaligned pointers in bus_dmamap_sync 2001-06-16 09:08:05 +00:00
jdolecek c57b6d9ba4 Add DTYPE_PIPE (to be used by new pipe implementation) and handle
it accordingly.
2001-06-16 08:28:39 +00:00
tsutsui aa35eff5da Enable some devices which I am/was using:
epic* at pci?
 fxp* at pci?
 sip* at pci?
 tlp* at pci?
 inphys* at mii?
 qsphys* at mii?
2001-06-16 05:47:37 +00:00
matt 38fc9e283d Fix pte_spill to set the index on the proper pvo. Deal with recursion
in pmap_syncicache.
2001-06-16 03:32:48 +00:00
tsutsui c5bc6249f0 Make sure to write out the dump header into an independent block
on the dump device on sun3x. (sync with sun3)
Now savecore(8) can find core dump in dumpdev properly.

XXX "target kcore /dev/mem" on gdb does not work yet.
2001-06-16 00:38:19 +00:00
matt 979edf3c4a pmap_syncicache can be called recursively. Properly deal with that
situation.
2001-06-15 22:28:54 +00:00
matt 60f8375758 Replace printf with (*pr) 2001-06-15 22:27:07 +00:00
thorpej 4c49d6fa2a Split the Tx and Rx interrupt routines into separate functions,
and add some (optional) event counters.
2001-06-15 22:16:00 +00:00
dbj 093fab47ce remove extra args from printf 2001-06-15 21:56:06 +00:00
matt e55c9f74af Add missing braces in pmap_pte_to_pvo (DEBUG|PMAPCHECK defined). Rearrange
some code so that consistency check in pmap_pte_to_pvo do not trigger on
false positives.  Correct/enhance some printfs.
2001-06-15 21:29:54 +00:00
matt 25a2c4d481 While not stricly needed, to match pmap_pvo_find_va, mask of the page
offset bits.
2001-06-15 20:53:45 +00:00
matt 787e1b0b36 When comparing VA's, ignore the page offset bits.
Invert and strengthen a test for pte equality.
2001-06-15 20:43:01 +00:00
matt c7c7dab8f1 Stop overloading unused bits in the pte. Use the low 12bits of the vaddr
instead to store them.  Add a macro to fetch the vaddr without them.
Make all variables/routines prefixed with pmap_
Cleanup & fix some of the vsid bitmap usage.
Cleanup DEBUG printfs.  Add some more checks to pmap_pvo_to_pte.
2001-06-15 18:26:06 +00:00
nathanw f71391cb6c Move the check for successful attachment to earlier in the detach
routine, to avoid referencing nonexistent data structures.
2001-06-15 18:05:36 +00:00
drochner b97fed556d vm_map_t -> struct vm_map *
vm_page_t -> struct vm_page *
simple_lock_data_t -> struct simplelock
2001-06-15 17:48:13 +00:00
thorpej 7660fd850d In check_exec(), don't bother checking P_TRACED along with
MNT_NOSUID, just check MNT_NOSUID to clear the S{U,G}ID bits
in the attributes for the vnode we're about to exec.

We now check P_TRACED right before we would actually perform
the s{u,g}id function in the exec code.

This closes a race condition between exec of a setuid binary
and ptrace(2).
2001-06-15 17:24:19 +00:00
nonaka 7f44dfec92 Compile again. 2001-06-15 15:53:27 +00:00
nonaka 80e152f0fc Use new common bus.h framework. 2001-06-15 15:50:04 +00:00
nonaka 3a3661fb58 Delete unused function. 2001-06-15 15:24:03 +00:00
bouyer 17eff1c958 Pass WDC_CAPABILITY_MODE to the wdc core, so that it will set timings
on the drive side too.
Deal properly with the case where master and slave don't have the same timings,
and set PIO timings too.
2001-06-15 10:35:26 +00:00
matt 192642af05 Don't enable PMAPCHECK by default. 2001-06-15 08:17:00 +00:00
matt f6b81171c1 Globalize trapexit. Improve db_trace.c so that you can trace thru traps!
Rework the output so that is also prints the frame address by default.
2001-06-15 08:09:33 +00:00
matt 0278444e19 Add a check to pvo_check which makes sure the pte is really in the
pteg_table.   In pte_to_va, take into account if the PTE_HID is set.
2001-06-15 08:08:04 +00:00
matt ab92d9cd59 phys_map should use kenter/kremove 2001-06-15 08:07:03 +00:00
matt 816a5637cd When releasing the SR VSID, mask off the bits not related to the index
in the pmap vsid bitmap.
2001-06-15 06:27:07 +00:00
sommerfeld d3249871b5 Rework how user-mode instruction and stack fetches are done.
While we're in here, catch another vm86 protocol botch.
2001-06-15 05:43:40 +00:00
thorpej e51a043945 Yet more interrupt cleanup -- the platform mater interrupt establish
function now just takes an "irq", which is an index into the irqmap
table for that platform.
2001-06-15 04:01:39 +00:00
fredette 6000674775 Now unmap the PROM's pages only after we have
installed our own vector table.
2001-06-15 00:32:38 +00:00
bjh21 ddc6e8e6ad I've got an 8-bit Ether3, so I've discovered that the address mapping is
non-linear.  Comment it here so I don't forget.
2001-06-15 00:28:01 +00:00
bjh21 5dc1e8334c Fix abuse of bus_space_handles in podloader functions. 2001-06-14 23:09:23 +00:00
thorpej 8eb3b954f1 Don't need to prototype child_return() here, it's in <sys/proc.h>. 2001-06-14 22:56:55 +00:00
thorpej 80cc38a1af Fix a partial construction problem that can cause race conditions
between creation of a file descriptor and close(2) when using kernel
assisted threads.  What we do is stick descriptors in the table, but
mark them as "larval".  This causes essentially everything to treat
it as a non-existent descriptor, except for fdalloc(), which sees a
filled slot so that it won't (incorrectly) allocate it again.  When
a descriptor is fully constructed, the code that has constructed it
marks it as "mature" (which actually clears the "larval" flag), and
things continue to work as normal.

While here, gather all the code that gets a descriptor from the table
into a fd_getfile() function, and call it, rather than having the
same (sometimes incorrect) code copied all over the place.
2001-06-14 20:32:41 +00:00
mjacob 60a0137d9c Ooops- we need to allocate an array of pointers to scsipi_xfer structures
isp_maxcmds in length- not an array of scsipi_xfer structures isp_maxcmds
in length.
2001-06-14 19:54:07 +00:00
thorpej 1d161cd563 Correct a comment. 2001-06-14 19:03:43 +00:00
thorpej fe87c9aade When the old PCI address map is in use, disable I/O space. Also disable
I/O space on PBC revs < B2.
2001-06-14 18:52:26 +00:00
thorpej 0ddf0d259b Don't use BUS_END to compute SYS_END. 2001-06-14 18:48:23 +00:00
thorpej 80dfaa3e5a Read the PCI memory space base and the PCI DMA window base from the
V3 PBC, and use them in the bus mem tag and the bus dma tag on the
P-4032.  This allows us to get much further when PMON has configured
the PBC using the old-style PCI address map.
2001-06-14 17:57:26 +00:00
uch 6c492e4e70 fix hpcio configuration. 2001-06-14 16:55:34 +00:00
fredette 1a4779d8a4 Now get the prototypes from the common sun68k/sun68k/control.h. 2001-06-14 16:36:46 +00:00
fredette 7ab5601058 Since physical memory below 0x2000 isn't mapped anywhere
for now, return EFAULT when /dev/mem tries to read it.
Other physical memory not managed by the pmap system is
mapped at the same virtual addresses.  Now that we
understand how VME PTEs are constructed, give mmapping
a VME bus a better chance of working..
2001-06-14 16:32:45 +00:00
thorpej 4c73c770ce Add MEMSIZE and ETHADDR options, so that they can be set in
the kernel config file, in case you have a buggy PMON which
doesn't provide the environment variables to the kernel.
2001-06-14 16:14:37 +00:00
fredette 8f6cff260d Now uses the common sun68k bus_space/bus_dma
and autoconf code.
2001-06-14 15:54:18 +00:00
fredette e20baedfd4 Added prototypes for w16zero and w16copy, found
in the new w16copy.s.
2001-06-14 15:49:05 +00:00
fredette c7154a0bfd Added two functions that zero memory and copy memory
in an optimized fashion using only properly aligned
8- and 16-bit accesses.
2001-06-14 15:38:16 +00:00
thorpej defcaa8bcb Initlialize PMON after configuring the console, so we can see
debugging info.
2001-06-14 15:29:23 +00:00
thorpej 587d3ec2b4 Insert some debugging code, conditional on PMON_DEBUG. 2001-06-14 15:28:56 +00:00
fredette 70ba9292d4 Now use the bus_space_peek_N function to probe for
the device, and common sun68k_find_prom_map function to
find a PROM mapping for a device.
2001-06-14 15:20:46 +00:00
fredette 9c1d420baf This file has been moved to sys/dev/vme. 2001-06-14 15:15:15 +00:00
fredette 15b02e5ba0 Added a function, prom_sd_target, to translate a PROM
sd unit number into a SCSI target.  Now only set up our
g0 and g4 handlers inside prom_abort(), so we're not
normally running with them.
2001-06-14 13:21:39 +00:00
fredette edad0f956c Under _LKM, now undefine KERNBASE for declaring it.
Not sure if this is correct, but the real question
is whether 68000 LKMs are even possible.
2001-06-14 13:18:54 +00:00
fredette 54f88e2668 Corrected the value of DVMA_OBIO_SLAVE_BASE; obio
devices can see the entire CPU address space.
2001-06-14 13:17:04 +00:00
fredette 01e5507e7e Now simply include the real header under arch/sun68k. 2001-06-14 13:16:03 +00:00
fredette 000fa36842 Moved the definition of romVectorPtr here from mon.h.
Prototype prom_sd_target.
2001-06-14 13:15:21 +00:00
fredette 9e52c15c31 Now simply include the real header under arch/sun68k. 2001-06-14 13:12:50 +00:00
fredette af6051568c Removed. These files can be found under arch/sun68k now. 2001-06-14 13:10:20 +00:00
fredette c3679650d5 Added some kernel sources that can be shared between
sun2 and sun3.
2001-06-14 13:08:11 +00:00
fredette 17de8ec19e Set ARCHSUBDIR to m68k when MACHINE_ARCH is m68000.
Add sun68k to SUBDIR when MACHINE is sun2.
2001-06-14 13:01:27 +00:00
fredette c1c742b4c9 Added sources for the sun2 boot blocks and other
sun68k-ish code, all of which ought to eventually
be shared with the sun3.
2001-06-14 12:57:10 +00:00
uch ea54d618ea ANSI KNF. and change my copyright to TNF copyright. 2001-06-14 11:09:55 +00:00
sato 4cc6a0ac93 fix 'mask clock to PIU' 2001-06-14 08:43:41 +00:00
chs 766dfc9b6f be sure to allocate dirty zeroed pages to cover blocks we allocate
to resolve a write fault.  fixes PR 13201.
also, be sure to allocate blocks for write faults to holes even if
the page is already in memory.  fixes PR 13189.
2001-06-14 08:22:14 +00:00
itojun 015f17a7cb fix comment on ifi_lastchange, for 1.4 if_data 2001-06-14 06:37:34 +00:00
thorpej 3bad583046 Oops, use the correct space tag when unmapping the RTC on the
P-4032 after calibrating the clock.
2001-06-14 05:58:19 +00:00
itojun a90f815dc4 update comment on if_lastchange 2001-06-14 05:50:02 +00:00
itojun 4d51fe368b change the meaning of ifnet.if_lastchange to meet RFC1573 ifLastChange.
follows BSD/OS practice and ucd-snmp code (FreeBSD does it for specific
interfaces only).

was: if_lastchange get updated on every packet transmission/receipt.
now: if_lastchange get updated when IFF_UP is changed.
2001-06-14 05:44:23 +00:00
chs 7e00a527ea work around an overflow problem in uvm_fault_wire().
from Eduardo Horvath and Simon Burge.
2001-06-14 05:12:56 +00:00
oster 669f5cc5a5 It's silly to need a parity rebuild after a reconstruction has completed.
If we've just reconstructed a disk, then the parity is known to
be correct.  (XXX doesn't hold for RAID 6!)
2001-06-14 02:35:56 +00:00
rafal 5b1c3b74ba Remove externs moved to headers, fix interrupt masks to be zeroes at startup,
add MIPS clock interrupt (int5) event counter and clean up some more debug
goo.
2001-06-14 01:15:35 +00:00
rafal d9d912728f Get rid of externs moved to header files, add event counter for the clock
interrupt, use platform.ticks_per_hz instead of hardcoded constant for the
counter increment (XX: not that the ticks_per_hz is calculated for the IP32
yet).
2001-06-14 01:09:37 +00:00
thorpej 3078a3d26d It's pretty questionable to printf a PCI tag, but if we're going to
do so, at least make the printf compile across the board.
2001-06-14 01:06:56 +00:00
rafal 3327706cab Add externs for struct platform and the machine type definitions (mach_type,
mach_subtype, mach_boardrev).
2001-06-14 01:06:08 +00:00
wiz b2e2ddf49e It's "extern int", not "extern".
Macppc kernels with LINUX_COMPAT now compile again.
2001-06-13 23:10:31 +00:00
wiz 3d343db054 #include <machine/fpu.h> for save_fpu()
#ifdef 0 two unused and un-prototyped functions.
Following a hint by Andrw Cagney on port-macppc.
2001-06-13 23:09:01 +00:00
uch 0774d04303 (TX39) switch from TX local I/O manager to hpcio 2001-06-13 19:09:07 +00:00
uch a9d7b546d6 make this work. 2001-06-13 19:02:13 +00:00
bjh21 bb5ca33de4 Add a driver for the HCCS IDE interface I got at Wakefield. Like the D.T.
Software one (dtide), it doesn't generate interrupts, so we run it in polled
mode.
2001-06-13 18:31:43 +00:00
bjh21 18c4c9eab3 Update to use the new support for IRQ-less IDE controllers.
Also generally re-work to do channel attachment in a loop, since that saves on
code size.
2001-06-13 18:29:40 +00:00
bjh21 6acf237023 Use the new generic mechanism for forcing polling on a SCSI interface, rather
than doing it ourselves.
2001-06-13 18:27:27 +00:00
bjh21 4bc5a3b295 Add explicit support for IDE and SCSI adaptors which don't support interrupts.
On such adaptors, all transfers are done in polling mode.

OK'ed by Manuel on tech-kern.
2001-06-13 18:17:38 +00:00
nathanw 0adcac34e5 That's supposed to be <machine/io.h> in the XXX'd #ifdef, not a repeat
of <machine/bus.h>.
2001-06-13 17:52:43 +00:00
nathanw 9e8fb68348 The trace_req() function is a no-op; garbage collect it. 2001-06-13 16:06:27 +00:00
sato 01b21ab7a1 register VRIP_INTR_BAT handler to vrip_intr_establish(). 2001-06-13 16:05:59 +00:00
soda 45c99b6989 remove resolved TODOs, reorder some entries, and some formating fixes. 2001-06-13 15:41:53 +00:00
soda 22b59feda9 introduce "struct platform", and remove "cputype" variable. 2001-06-13 15:39:13 +00:00
soda fb93db6893 remove __BROKEN_CONFIG_UNIT_USAGE, finally (sorry to be late, cgd). 2001-06-13 15:38:15 +00:00
soda cefa712681 update configurations for "struct platform" and related changes 2001-06-13 15:37:27 +00:00
soda 56716edd1f incomplete platfrom description for SNI RM200. 2001-06-13 15:36:44 +00:00
soda 6ddec4b5e4 platform description for NEC RISCstation 2200 variants.
not tested.
2001-06-13 15:36:04 +00:00
soda 8612165cf4 platfrom description for NEC Express RISCserver and NEC RISCserver 2200.
tested by Bob Meader on NEC RISCserver 2200, and
Chuck Silvers on NeTpower S1030 (likely compatible with Express RISCserver),
until it asks for boot device.
2001-06-13 15:35:04 +00:00
soda ee220d37b2 platform description for NEC RISCstation 2250.
test by Shuichiro URATA (until it asks for boot device)
2001-06-13 15:33:27 +00:00
soda 42215b6b35 platform description for NEC Express 5800/230, R4400 & PCI variant.
tested by Izumi TSUTSUI.
2001-06-13 15:30:38 +00:00
soda ed19e07cc7 platform description for Acer PICA-61 and its OEM.
tested by myself on NEC Image RISCstation.
2001-06-13 15:29:30 +00:00
soda 4e70aed6b2 platform description for MIPS Magnum (Microsoft-Jazz).
tested by myself on a NEC Magnum derived machine.
2001-06-13 15:28:23 +00:00
soda a8a1317719 latform description for DESKTECH Tyne and rPC44.
not tested.
2001-06-13 15:27:17 +00:00
soda b7f2c5a631 common chipset description for NEC PCI generation platforms 2001-06-13 15:23:22 +00:00
soda 221f729935 common chipset description for NEC EISA generation platforms 2001-06-13 15:22:49 +00:00
soda 272b3c0d0d common chipset description for NEC EISA and PCI generation platforms 2001-06-13 15:21:52 +00:00
soda 3e5520d4d1 common description for platforms which have Jazz and EISA
but doesn't have PCI, like magnum based platforms and
NEC EISA generation platforms
2001-06-13 15:21:00 +00:00
soda 4f9452f773 common chipset description for magnum based platforms like
Microsoft-Jazz and PICA-61
2001-06-13 15:19:28 +00:00
soda eab4fd5e7a rename statically allocated software context which is needed for
console initialization, from "struct necpb_config necpb_configuration;"
to "struct necpb_context necpb_main_context".
to resolve naming conflicts with "struct XXX_config *XXX_conf;"
which describes platform-dependent configuration variants.
2001-06-13 15:18:28 +00:00
soda 1aa149136b rename statically allocated software context which is needed for
console initialization, from "struct necpb_config necpb_configuration;"
to "struct necpb_context necpb_main_context".
to resolve naming conflicts with "struct XXX_config *XXX_conf;"
which describes platform-dependent configuration variants.
2001-06-13 15:18:27 +00:00
soda 56197e330a make vga frontend does same thing with pccons frontend 2001-06-13 15:12:28 +00:00
soda d54e67b2d3 add copyright notice 2001-06-13 15:12:02 +00:00
soda 5738ad78e7 remove "cputype", introduce "struct jazzio_config *jazzio_conf;" to
describe platform-dependent variants. clean up jazz i/o interreupt
handling had device configuration information.
2001-06-13 15:11:38 +00:00
soda 131e5819c3 remove "cputype", introduce "struct asc_config *asc_conf;"
to describe platform-dependent variants.
2001-06-13 15:10:35 +00:00
soda ceabf3273a remove "cputype", introduce "struct btl_config *btl_conf;"
to describe platform-dependent variants.
2001-06-13 15:09:32 +00:00
soda bc0d30a90c introduce "struct platform", and remove "cputype" variable.
this change also includes a patch to obtain secondary cache size
from ARC firmware by Bob Meader, which was posted on port-arc on 18 Aug 2000.
this should make NEC Express RISCserver work.

this change obtains ID of display controller from ARC firmware, too.
2001-06-13 15:08:05 +00:00
soda b7abba7794 split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
2001-06-13 15:05:43 +00:00
soda 226c44ecbc use MI i8253reg.h instead of home grown one 2001-06-13 15:03:53 +00:00
soda ba6a3c6db5 split ISA bridge code into bus dependent frontends to remove "cputype"
variable.
2001-06-13 15:03:24 +00:00
soda c6eacfae15 split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
2001-06-13 15:02:12 +00:00
soda c7b603e55d split clock.c into interval timer part ("timer" for cpu_initclock) and
real time clock part ("todclock" for inittodr, resettodr)
2001-06-13 15:00:26 +00:00
soda 33669543d9 remove algor related codes, because there is independent (and working!)
algor port now.
2001-06-13 14:58:38 +00:00
soda 7a314c516c enable device_register(9) on arc port to parse boot device name
passed by ARC firmware correctly.
2001-06-13 14:36:33 +00:00
toddpw a865af9ad5 Enable attachment for Kingston KNE-PC2 Ethernet. 2001-06-13 13:41:01 +00:00
rafal 68306a9bf0 Implement a db_trap_callback which turns off the watchdog on entry to DDB
and turns it back on on exit.  Hook the callback in early in the boot, so
it's there as soon as DDB is available.
2001-06-13 12:34:24 +00:00
wiz c03a48d64f withough -> without 2001-06-13 10:45:57 +00:00
scw e13606c37b Workaround for buggy OPTi pciide chipset revisions, as reported
in PR/11644.
2001-06-13 09:55:25 +00:00
enami 4553af4ee5 Add minimal support for vr4122/vrc4173 pci. 2001-06-13 07:32:47 +00:00
lukem 6b358ba879 remove interlan np100 entry as the referenced files don't exist 2001-06-13 06:43:08 +00:00
lukem d9db68b3fe be more specific about which interlan controller the qbus/if_il supports 2001-06-13 06:40:19 +00:00
simonb 85ded6700b Add a sanity check for ubc_winshift. 2001-06-13 06:06:19 +00:00
simonb 6c4e6292a5 Regen; add IBM 405GP PCI Bridge & ROB-in i960RP Microprocessor. 2001-06-13 06:04:25 +00:00
enami 3df61fa9d9 Generic softintr for hpcmips. 2001-06-13 06:03:10 +00:00
simonb 18b2f7e6a1 Add a port to IBM's PPC405GP Reference Board (the "walnut")
by Eduardo Horvath and Simon Burge of Wasabi Systems.

IBM 4xx series CPU features:
 - New pmap and revised trap handler.
 - Support on-chip timers, PCI controller, UARTs
 - Framework for on-chip ethernet and watchdog timer.
General PowerPC features:
 - Add in-kernel PPC floating point emulation
 - New in{,4}_cksum that is between 1.5 and 5 times faster than the
   old version depending on CPU type.
General changes:
 - Kernel support for generic dbsym-style symbols.
2001-06-13 06:01:44 +00:00
thorpej 015345c74b Don't need INET or NS includes here. 2001-06-12 22:32:51 +00:00
thorpej 7e59a1be7a No longer need MIPS3_5200 here. 2001-06-12 22:32:50 +00:00
thorpej 9988acd41e Don't need INET or NS includes here. 2001-06-12 22:28:15 +00:00
thorpej e103dbb4b0 Don't need NS-related headers here. 2001-06-12 22:05:53 +00:00
uwe 02293e0ea7 Be prepared to get OpenFirmware client entry in either %o3 (PROM way)
or %o0 (our boot code passes romp in %o0 even for OF machines).
Discussed with pk.
2001-06-12 21:01:26 +00:00
bjh21 18e8d752f6 No need to pull in INET or NS headers -- that's all done by ether_ioctl() now. 2001-06-12 20:53:39 +00:00
bjh21 ca5de264b4 Change the structure of a bus_space_handle_t in a desperate bid to avoid using
function pointers.  It now contains two base addresses, one for 8-bit
transfers and one for 16-bit transfers.  This should make it possible for me
to handle the Castle EtherSCSI card, which uses and address line to select
transfer width to the i82595.
2001-06-12 20:16:22 +00:00
matt 2b283d77df For arm ports where machine != arm??, descend into the cats,dnard,netwinder
directories and install their include files too.
2001-06-12 18:16:31 +00:00
matt 6506d53f68 Nuke include files which are just <arm/foo.h>. Adjust Makefile accordingly. 2001-06-12 18:03:55 +00:00
matt d4dcda551f Revert back to arm32 (for now). 2001-06-12 18:02:20 +00:00
matt 5571e920d6 senderr needs only be declared when PFIL_HOOKS is defined 2001-06-12 17:55:52 +00:00
matt 12635e46a1 The machine is cats, the machine_arch is arm (not arm32). 2001-06-12 17:38:41 +00:00
matt 0aff179f16 Eliminate all files that are just #include <arm.foo.h>. Update Makefile
to refer to cats, not netwinder.
2001-06-12 17:37:35 +00:00
tsubai f1d3ac74a5 Change comment. 2001-06-12 17:36:55 +00:00
tsubai 66c1ffd9be Remove cpu_dumpconf(); it's in powerpc_machdep. 2001-06-12 17:23:13 +00:00
tsubai 713feac239 Include powerpc/mpc6xx/{bat.h,pte.h} if PPC_MPC6XX is defined. 2001-06-12 17:20:50 +00:00
tsubai bee211fc53 Move "file .../bus_dma.c" line to MD place.
Add options PPC_MPC6XX on missed ports.
XXX I think PPC_OEA is better name.
2001-06-12 17:13:34 +00:00
matt fa3621e3be Move netwinder_machdep.c to files.netwinder. Eliminate opt_netwinder.h and
use #ifdef netwinder insead.  XXX ebsa285_machdep.c should move to the cats
directory and files.cats
2001-06-12 17:10:25 +00:00
minoura f8ce82f817 Another steps for ELF.
- register prefix
 - machine/asm.h
 - deprecated -T option for ld(1)
2001-06-12 16:57:27 +00:00
tsubai cbad4436c2 One more. 2001-06-12 16:32:00 +00:00
tsubai 51a013241c Make this compile w/o akbd or ukbd. 2001-06-12 16:29:07 +00:00
wiz 0a600be867 receive, not recieve 2001-06-12 15:17:10 +00:00
itojun bdbfdf946d run pfil_hooks for IPv6 forwarding path (note: ip6_forward() does not
call ip6_output()).
2001-06-12 15:12:33 +00:00
thorpej 4f7cad1c02 On a non-simplex interface, check incoming multicast (this catches
the broadcast case as well) to see if they came from us, and drop
them if they did.

This fixed IPv6 DAD on non-simplex interfaces, e.g. the Seeq 8003
found on my SGI Indy.
2001-06-12 15:03:26 +00:00
wiz 2a8c778f1b retrieve, not retreive 2001-06-12 14:59:27 +00:00
ragge 3bd0afbc54 Make tracing of stack by frame argument work. 2001-06-12 13:22:06 +00:00
ragge 5335780e31 Support to get into DDB from hardclock interrupts by putting a value in
the RPB wait field.
2001-06-12 13:20:29 +00:00
ragge 8f96f4b21c Fix problem where console interrupts never got enabled after RB_ASKNAME. 2001-06-12 13:18:38 +00:00
bjh21 cb6b68a931 Mention where I got the information for writing the driver. 2001-06-12 11:52:03 +00:00
bjh21 f6f3c9b35f Add a hefty comment about the stray IR bug, so I don't forget it. 2001-06-12 11:49:18 +00:00
wiz b50f28c38a underrun, not underun 2001-06-12 11:48:51 +00:00
minoura 55e73f8bc1 I was too careless. Do not throw away the prepared string. :p 2001-06-12 11:29:31 +00:00
ragge 8f68bebb7e Detect 4000/VLC correctly + make halt/reboot work.
From Michael L. Hitch (mhitch@montana.edu).
2001-06-12 11:24:50 +00:00
minoura 5d6ce3b75c Make this compile again. 2001-06-12 10:30:04 +00:00
minoura b1b468a365 Remove unneeded whitespace. 2001-06-12 10:03:04 +00:00
chris be97fea093 Remove Makefile.cats. We now use the arch/arm/conf/Makefile.arm. 2001-06-12 08:33:48 +00:00
chris eb541612a0 Add cats specific makefile for tags and includes. 2001-06-12 08:32:46 +00:00
chris f90999bd42 Cats doesn't need io.h any more as it has it's own conf.c files. 2001-06-12 08:31:53 +00:00
chris a7b8789da8 Add cats specific autoconf and conf.c. Also add defopt NETWINDER to files.cats, this is so a few things that include opt_netwinder compile. 2001-06-12 08:30:47 +00:00
chris 8c53bc98ee comment out MEMORY_DISK_HOOKS, currently cats can only use an in-kernel memory disk. 2001-06-12 08:27:08 +00:00
thorpej 42a2e688fe If the parent interface can do hardware-assisted VLAN encapsulation,
then propagate its hardware-assisted checksumming flags.
2001-06-12 06:16:59 +00:00
simonb 0bdd2faeed Get the opcode mask right for almost all the Op_OE opcodes (only two were
correct).
2001-06-12 05:31:44 +00:00
uwe 1f4eee4c21 In wsfont_map_unichar: when checking that 'lo' is within 'map2' range,
compare 'lo', not 'hi' (only partially edited cut-n-paste it seems).
2001-06-12 00:57:10 +00:00
thorpej ba52d7a5d0 Always indirect through the "locoresw" to get the cache ops, since
there are just far too many combinations to handle with magic
#ifdefs in any sane way.  Also, add a HitFlushDCache op to the
"locoresw", and fill it in as appropriate (it's NULL on MIPS-I,
so watch out).

These changes ensure that my R4600 Indy (with 2-way cache) gets
the correct cache ops when the kernel is built with only MIPS3
support, resulting in a kernel that is significantly more stable.
2001-06-11 23:52:38 +00:00
perry df452bb9b8 clean up some comments, per a request from sommerfeld 2001-06-11 22:56:26 +00:00
chris 1825c7b68a Move defopt FOOTBRIDGE to where it really should be in files.footbridge, which is where I should have left it. 2001-06-11 22:25:09 +00:00
chris ed72dec945 Remove locore dependancy on opt_netwinder and use the netwinder define from the command line. 2001-06-11 22:08:42 +00:00
fredette 8d1b187a4c Fixed pte_print to display the correct names
for VME device pages.
2001-06-11 21:35:59 +00:00
fredette 6e5f704918 Now use hand-defined macros instead of relying
on structure layout to find registers.  Added
a VME attachment.
2001-06-11 21:33:47 +00:00
bjh21 33afab3251 Add a short-circuit return from wdcprobe for IDE controllers without pullup
resistors, which return the last value written to the bus on a read.  This
makes detecting empty channels on my HCCS and D.T. Software IDE interfaces
rather faster.
2001-06-11 21:18:36 +00:00
thorpej fb2f3ce7e5 Regen; Add Level One vendor ID, and LXT-1001 10/100/1000 Ethernet
product ID.
2001-06-11 21:13:49 +00:00
thorpej ec5280c1ed Add Level One product ID, and LXT-1001 10/100/1000 Ethernet
product ID.
2001-06-11 21:12:29 +00:00
sommerfeld 0463a8a3d7 Replace magic numbers in trap code with offsetof()
Deal better with traps during register restore.
Explain a bit more about what's going on here.
2001-06-11 20:04:02 +00:00
bjh21 bd73477f94 Parentheses around definition of PODULE_GAP. 2001-06-11 19:07:14 +00:00
matt 95be56d2e1 Only include dependency on include-dirs if the include directory doesn't
exist.
2001-06-11 17:50:34 +00:00