Commit Graph

20341 Commits

Author SHA1 Message Date
nisimura
f0771e6b9b Arrange comment descriptions for internals of TC DECstations. 1999-12-01 08:41:41 +00:00
nisimura
6aa5cbc76c Replace old asic.c with one imported from a development branch. 1999-12-01 08:39:20 +00:00
nisimura
b8997ad45a Remove a file obsoluted and arrange global extern declarations. 1999-12-01 08:37:25 +00:00
nisimura
1d71d327fc Simply the way how 3min estimates CPU speed. Save 25+ instructions. 1999-12-01 08:35:27 +00:00
simonb
3328370469 Return the blocksize-rounded-up length (which was the size malloc()d
anyway).  The resultant pwrite() is now a multiple of the blocksize and
doesn't fail on a pmax with the MI SCSI driver.

Problem noticed by Tohru Nishimura.
1999-12-01 05:02:03 +00:00
thorpej
12f7832ebc don't need private `imb' inline anymore. 1999-11-30 22:32:08 +00:00
thorpej
9314d7f4d7 Use ptoa() consistently when printing out how much memory we have, etc. 1999-11-30 19:31:56 +00:00
uch
85afb0e66b bicons_getc: calls vrkiu_getc() when vrkiu is configurated only. 1999-11-30 18:42:02 +00:00
thorpej
69b252dfff Put some (disabled) debugging code into pmap_steal_memory(). 1999-11-30 18:18:02 +00:00
tron
b226b8aa37 Increase packet counter before passing packets to BPF. 1999-11-30 17:02:39 +00:00
drochner
671919edee add consistency check whether the end mark does appear before the
reported number of nodes
1999-11-30 15:54:55 +00:00
drochner
ab0574c601 activate "coma bug" workaround for 6x86MX too.
Closes PR port-i386/7538 by darkstar@pgh.net.
1999-11-30 15:22:52 +00:00
uch
8b86f850f6 make platid_test compile again. 1999-11-30 15:11:00 +00:00
drochner
b678bca85b Allow loading of kernels larger than (16-1)M.
XXX This is a stopgap fix which can be pulled up to 1.4.x. It only replaces
the arbitrary 16M boundary by an arbitrary 128M boundary. A clean solution
would need changes to the mi loadfile.c parts.
1999-11-30 12:02:13 +00:00
shin
ccba32ca1d reorder instructions in mips3_TLBFlush() to avoid coprocessor hazard
for R4600/R4700/VR4100.
1999-11-30 11:53:24 +00:00
mrg
b27ecf75a9 oops; remove part of the previous that was not intended (yet). 1999-11-30 07:56:28 +00:00
nisimura
bf9cfe90d3 Fix 3max DC cookie value; should make 3max serial port working. 1999-11-30 01:29:44 +00:00
simonb
a23dac53d4 Remove our own atoi() and use libkern's strtoul(). 1999-11-30 00:54:43 +00:00
thorpej
89ae0bf93c Inline several things from pal.s:
- alpha_rpcc(), alpha_mb(), alpha_wmb() -- these are instructions, and
  we win by inlining them: rpcc is generally used for profiling, and
  the memory barriers really should execute as quickly as possible with
  minimal side-effects (like additional loads/stores required to call the
  functions!)
- alpha_pal_imb(), alpha_pal_rdps(), alpha_pal_swpipl(), alpha_pal_tbi(),
  alpha_pal_whami() -- these are PALcode ops.  We must specify some register
  clobbers for these.

We have a very decent size savings as a result.  My test system:
text    data    bss     dec     hex     filename
2671724 235848  377016  3284588 321e6c  /netbsd.bak
2617708 235736  377016  3230460 314afc  /netbsd

Most of this comes from fewer register saves/restores around spl*() calls
(now that alpha_pal_rdps() and alpha_pal_swpipl() are inlined).

Note that alpha_pal_rdps() and alpha_pal_swpipl() remain in pal.s to
maintain binary compatibility with LKMs that may use spl*() functions.
1999-11-30 00:42:46 +00:00
thorpej
871b54b6d2 Vector to a local function for the IMB IPI. 1999-11-30 00:26:55 +00:00
tron
8f0521d4a1 Increase packet counter before calling the input routine like all the
other ethernet interface drivers do.
1999-11-30 00:05:56 +00:00
tron
a260687a14 Increase packet counter if a packet is received. This might fix
PR port-arm32/8527.
1999-11-30 00:02:51 +00:00
simonb
9c807e7a3c Move strtoul.c (via CVS repo copy) to libkern. Also sort prototypes
in libkern.h and sources in arm32/Makefile.inc alphabetically.
1999-11-29 23:12:56 +00:00
thorpej
18e6d486f4 Add an IPI which causes the target CPU to perform AST processing when
it returns to userspace.
1999-11-29 20:00:04 +00:00
thorpej
7f1ccd57ea Add a way to get/set a private pointer in the shared interrupt header. 1999-11-29 19:59:19 +00:00
thorpej
df2cf70865 - Fix a botch in the IPI bitmasks (they were right-shifted by 1), and
add an IPI which causes the target CPU to perform AST processing when
  it returns to userspace.
- Add a way to get/set a private pointer in the shared interrupt header.
1999-11-29 19:58:39 +00:00
thorpej
68fb3dc662 Switch to the new pmap_remove() and nuke the old one. A simple fork/exit
benchmark shows at least a 10% improvement in the tearing down of a large
address space.
1999-11-29 18:37:28 +00:00
uch
e3285cc801 commet out non-working code. 1999-11-29 17:23:04 +00:00
uch
616ab352ae tx39.c (tx_cons_init): fb_cnattach moved to tx3912video.c (tx3912video_attach): 1999-11-29 17:21:21 +00:00
ad
0daccde651 - When kbdMapChar() was modified to support returning multi-character
mappings, it broke Ctrl-Space; fix that.
- Clean up lk201.c a little.
1999-11-29 15:02:38 +00:00
pk
a24fb44ddf Pull header files from `syssrc' since we use libsa/loadfile(). 1999-11-29 14:49:12 +00:00
itojun
726970dc8c add cnw* into pcmcia section. 1999-11-29 12:56:25 +00:00
uch
878e985d08 Some TX39 I/O region lies over 512MByte. KSEG2IOBUFSIZE reserves PTE to map there. 1999-11-29 11:14:49 +00:00
uch
8b01b15437 TX3912/22 specific register defines. 1999-11-29 11:13:11 +00:00
uch
347ea4cd91 TX3912/22 support. ENABLE_MIPS_TX3900 enables it. 1999-11-29 11:12:12 +00:00
shin
ce5757bb6b fix Fujitsu INTERTOP CX300 keymap. 1999-11-29 02:20:20 +00:00
shin
82cd5e5ce2 add Fujitsu INTERTOP CX300. 1999-11-29 02:20:11 +00:00
is
4905974fd1 Very initial support for booting PPC kernels on P5 boards. 1999-11-28 22:10:47 +00:00
is
14ed33e42e Fix typo (&& -> &). 1999-11-28 20:30:57 +00:00
thorpej
94552ad5d6 - Use alpha_atomic_{add,sub}_q() to update the pmap statistics. We now no
longer need to lock the kernel pmap in pmap_kenter_pa() and pmap_kremove().
- Since locking the kernel pmap in interrupt context is no longer required,
  don't go to splimp() when locking the kernel pmap.
- Implement a new pmap_remove() function, not yet enabled by default.  It
  is structured like pmap_protect, and should be *much* faster.  This was
  actually written quite some time ago, but never committed because it
  didn't work properly.  Given the recent bugfix to pmap_protect(), "duh,
  of course it didn't work properly before...".  It seems to work fine now
  (have done several builds and run the UVM regression tests using the new
  code), but it is currently run-time optional so that some performance
  measurements can be easily run against the old and new code.
1999-11-28 19:53:11 +00:00
thorpej
1710fad449 Implement atomic addition and subtraction on quadwords. 1999-11-28 19:47:13 +00:00
takemura
f972baf686 Add definition for VR's special instructions. 1999-11-28 12:11:45 +00:00
scottr
3029c58799 Use a bitwise-and to test CC_IPURGE, not a logical-and. This could have led
to flushing the entire cache unnecessarily.
1999-11-28 11:10:47 +00:00
sato
943c083676 PowerOff code. (not yet completely)
'halt -p' availavle.
	not yet all power off...
	cannot exit poweroff mode. (reset required..)
1999-11-28 10:59:05 +00:00
scottr
86a8f1d201 Sync cachectl1() implementation with other m68k ports. 1999-11-28 10:36:56 +00:00
scottr
99d3468790 Don't use the plural form of the word "target" if there is only one! 1999-11-28 10:10:51 +00:00
scottr
dc2663bf69 If there is only one ADB device, it will do us no good to avoid it
when guessing which device to poll next.  Resolves PR 7407, but the
bug is a lot older than that.
1999-11-28 10:07:34 +00:00
simonb
465c7f924f Don't use magic numbers! Use XINE_REG_IMSK and KMIN_REG_IMSK. 1999-11-28 08:29:00 +00:00
simonb
71cc75d706 Don't check for a write to write protected label if we are writing to
the raw partition.
1999-11-28 06:28:37 +00:00
simonb
fcab0ccebb Tidy up the formatting of a comment. 1999-11-28 06:06:21 +00:00
simonb
d805fbc3b6 Check bounds against RAW_PART instead of partition 0. 1999-11-28 04:55:39 +00:00
takemura
62009df24f Add new device vrdsu, with which we can hard reset the VR41xx CPU.
Why don't you try shutdown comand with option '-r ?
1999-11-28 04:29:37 +00:00
simonb
1fcc860815 Enable new pmax bootblocks. 1999-11-28 03:17:11 +00:00
simonb
bc7deba55e Bump bootblock version number to 1.2. 1999-11-28 00:40:16 +00:00
simonb
70cbfb6fcd Add CPPFLAGS and set LDSTATIC to -static. 1999-11-28 00:39:30 +00:00
mark
52dcf041ef Remove the ISP scsi driver. With the removal of the Qlogic microcode
it is no longer possible to setup these devices thus the driver will not
work.
1999-11-28 00:34:17 +00:00
simonb
50b389d4a6 Bootblock installer - based heavily on the alpha installboot but with
some significant differences:
 * Because the pmax bootblocks don't have a fixed load address, we
   need to keep the first stage blocks in /usr/mdec with some sort
   of executable format that includes load and transfer address.
   Since ELF is native, /usr/mdec/bootxx_* are in ELF format and
   installboot (in loadbootstrap.c) needs knowledge of the ELF format.
 * Support for installing the first stage at an arbitiary position.
   -a adds the first stage to end of the "disk" (only on works on
   regular files) and -i <block> puts the first stage at ISO
   filesystem block number <block> for use in multi-arch boot
   CDs (see installboot(8) for more details and an example).
 * No checksum support.  This should really be done in some sort of
   MI way rather than duplicating code between ports' installboot.c
1999-11-28 00:32:29 +00:00
simonb
b96c403e14 New alpha-style first stage bootblock Makefiles. 1999-11-27 23:59:15 +00:00
simonb
b013ce2a48 Updated for new Makefile.booters and stand/ layout. 1999-11-27 23:57:42 +00:00
simonb
6fb34407ab Update for new alpha-style bootblocks - a good deal of this is based on
the alpha stand/Makefile.bootprogs and stand/Makefile.bootxx.
1999-11-27 23:55:23 +00:00
eeh
c7f61c6f0e Apparently sys/sysctl.h includes vm/vm_map.h which makes use of vaddr_t, 1999-11-27 20:05:45 +00:00
minoura
bf013a4539 Remove ether+ driver. Requested by msaitoh. 1999-11-27 15:57:17 +00:00
mrg
2c11d38827 add some missing #ifdef SUN4M to the MP-handling code. 1999-11-27 14:54:53 +00:00
takemura
b006c3cae6 Fix frame buffer type for NEC MC-R520 and -R520A.
Add a menu item for IBM WorkPad z50.
1999-11-27 13:17:44 +00:00
mrg
9a6c8313f7 minor cosmetic merges; long way to go here. 1999-11-27 12:14:26 +00:00
mrg
264af07cff merge sparc64 types.h; these files are now identical. 1999-11-27 11:33:39 +00:00
mrg
d7e14b468a more sparc64 merging; these files are (basically) identical. 1999-11-27 11:20:41 +00:00
mrg
faa527dcc9 merge sparc64 limits.h; these files are now identical. this includes
a `fix' for when s?size_t was changed from int to long but the
definitions of S?SIZE_MAX were left as U?INT_MAX.  these are now
U?LONG_MAX.
1999-11-27 11:14:40 +00:00
mrg
9d1afb7522 merge cosmetic differences from sparc port. 1999-11-27 11:06:36 +00:00
mrg
492e85822e MNN has been standard for a Long Time. 1999-11-27 10:22:19 +00:00
mrg
aa206906a3 make this idempotent (from sparc/include/limits.h) 1999-11-27 10:13:15 +00:00
mrg
484cb25f55 s/long/int/ to make this identical the sparc64 version. 1999-11-27 10:10:02 +00:00
mrg
3c756ae10c these files were removed years ago (exec.h was not even installed). 1999-11-27 10:04:30 +00:00
simonb
42b18ab82a Clean up headers. 1999-11-27 07:07:04 +00:00
simonb
64b57a767e Add prom_write() declaration. 1999-11-27 07:02:24 +00:00
simonb
77f2cc3a2f Use alpha-style banner display and bootprog_* variables.
Look for default kernels in order of: netbsd.pmax netbsd netbsd.gz
  netbsd.bak netbsd.old onetbsd gennetbsd.
1999-11-27 07:00:35 +00:00
simonb
4772d7bcd7 Check that a first-stage bootblock fits in a specified size - virtually
a copy of the alpha checksize.sh.
1999-11-27 06:55:04 +00:00
simonb
326cce3c7a Add a PROM call stub for getchar. 1999-11-27 06:52:05 +00:00
simonb
92bd89485a Remove code in sector 0 support - we don't need the space and it allows
for the coexistance for other port's bootblocks in sector 0.
1999-11-27 06:49:34 +00:00
simonb
1463e10159 Don't require a disklabel at the start of a disk - needed for
ISO 9660 f/s support.
1999-11-27 06:48:08 +00:00
simonb
31d531e54b Header file include cleanup. 1999-11-27 06:47:24 +00:00
simonb
4001a35043 Small cleanup based on Alpha newvers.sh. 1999-11-27 06:46:56 +00:00
simonb
0246cad68c GC register keyword.
Add LIBSA_SINGLE_DEVICE support.
1999-11-27 06:46:36 +00:00
simonb
8160906e08 Add lfs, cd9660, nfs and ustarfs filesystem support.
Remove callv variable declaration.
1999-11-27 06:45:52 +00:00
simonb
55ae392784 Add some PROM function prototypes
Add bootprog* variable declarations (ala alpha/stand/common.h).
1999-11-27 06:45:07 +00:00
simonb
4bb143c0ea Move callv variable declaration here from conf.c. 1999-11-27 06:44:00 +00:00
simonb
c3c29ad5c5 Load second stage bootblocks from "boot.pmax", falling back to "boot"
for backwards compatibility and "boot.pma" after that for people who
make ISO filesystems with 8.3 format file names.
1999-11-27 06:34:06 +00:00
simonb
26b61c0dff callvec.c has moved from stand/lib to stand/common.
XXX: The kernel proper shouldn't rely on files in stand!  Will fix soon.
1999-11-27 05:35:00 +00:00
simonb
10c7b5ab91 Remove the remaining files in lib directory. The other files in
this directory were moved to ../common via a CVS repository copy.
1999-11-27 03:55:46 +00:00
simonb
40bbc6129e Remove the remaining files in scsiboot directory. The other files in
this directory were moved to ../common via a CVS repository copy.
1999-11-27 03:54:43 +00:00
simonb
426c66b28c Moved to common/callvec.c,v 1999-11-27 03:14:47 +00:00
simonb
42fdd5dfb7 Moved from lib/callvec.c,v 1999-11-27 03:14:46 +00:00
simonb
e2751ce295 Moved to common/printf.S,v 1999-11-27 03:12:24 +00:00
simonb
360739d57f Moved from scsiboot/printf.S,v 1999-11-27 03:12:23 +00:00
simonb
88b44c10cb Moved to common/clear_cache.S,v 1999-11-27 03:11:56 +00:00
simonb
ea515c3a7f Moved from scsiboot/clear_cache.S,v 1999-11-27 03:11:55 +00:00
simonb
16ddb8bd85 Moved to common/bootxx.c,v 1999-11-27 03:11:41 +00:00
simonb
9bbac58265 Moved from scsiboot/bootxx.c,v 1999-11-27 03:11:40 +00:00
simonb
acefb84bcb Moved to common/startprog.S,v 1999-11-27 03:10:17 +00:00
simonb
81ff761e62 Moved from lib/startprog.S,v 1999-11-27 03:10:16 +00:00
simonb
a61aff17a2 Moved to common/start.S,v 1999-11-27 03:10:07 +00:00
simonb
ffab24d77d Moved from lib/start.S,v 1999-11-27 03:10:06 +00:00
simonb
d4e109f26d Moved to common/rz.h,v 1999-11-27 03:09:52 +00:00
simonb
2dcb3cc6f2 Moved from lib/rz.h,v 1999-11-27 03:09:51 +00:00
simonb
de5d47be57 Moved to common/rz.c,v 1999-11-27 03:09:42 +00:00
simonb
dd6570cdf6 Moved from lib/rz.c,v 1999-11-27 03:09:41 +00:00
simonb
875e06c29a Moved to common/putchar.c,v 1999-11-27 03:09:27 +00:00
simonb
59e9772e78 Moved from lib/putchar.c,v 1999-11-27 03:09:26 +00:00
simonb
7915729248 Moved to common/newvers.sh,v 1999-11-27 03:09:06 +00:00
simonb
cf4333e101 Moved from lib/newvers.sh,v 1999-11-27 03:09:05 +00:00
simonb
b24ec11fca Moved to common/devopen.c,v 1999-11-27 03:08:47 +00:00
simonb
16c74987cc Moved from lib/devopen.c,v 1999-11-27 03:08:46 +00:00
simonb
1a4a126f90 Moved to common/conf.c,v 1999-11-27 03:08:31 +00:00
simonb
b02cf094dc Moved from lib/conf.c,v 1999-11-27 03:08:30 +00:00
simonb
8ac75f530b Moved to common/common.h,v 1999-11-27 03:08:02 +00:00
simonb
034554d0a8 Moved from lib/common.h,v 1999-11-27 03:08:01 +00:00
simonb
41f1bf53e1 Moved to common/bootread.S,v 1999-11-27 03:07:40 +00:00
simonb
4a75552397 Moved from lib/bootread.S,v 1999-11-27 03:07:39 +00:00
simonb
d5c8b5ad99 Moved to common/bootinit.S,v 1999-11-27 03:07:22 +00:00
simonb
1f59f63d6d Moved from lib/bootinit.S,v 1999-11-27 03:07:21 +00:00
simonb
4d2b51c4be Moved to common/bootinfo.h,v 1999-11-27 03:06:56 +00:00
simonb
3f99fedebd Moved from lib/bootinfo.h,v 1999-11-27 03:06:55 +00:00
simonb
4a53cd4daa Moved to common/bootinfo.c,v 1999-11-27 03:06:31 +00:00
simonb
1e9b1f56a7 Moved from lib/bootinfo.c,v 1999-11-27 03:06:30 +00:00
simonb
089a87b280 Moved from boot/boot.c,v 1999-11-27 02:52:07 +00:00
simonb
9f8721cd67 Moved to common/boot.c,v 1999-11-27 02:52:06 +00:00
simonb
fbbde1126e Remove NUMBOOT define - disklabel doesn't install bootblocks anymore. 1999-11-27 01:58:37 +00:00
simonb
db783e76e8 Use explicitly sized types for entities that exist on disk.
Use alpha-like defines for boot block offset on disk and boot block size.
1999-11-27 01:51:20 +00:00
simonb
b83882f7c7 Use new pmax stand structure for multi-filesystem bootblocks. All
entries are commented out for now until everything else is updated.
1999-11-27 01:45:46 +00:00
simonb
69e1252d6a Oops, px* won't work right now - go back to px0. 1999-11-27 01:31:47 +00:00
simonb
0b1eae6c7a * all device attachments, after discussion with Jason Thorpe and Toru
Nishimura.
1999-11-27 01:19:31 +00:00
mycroft
1d9d2c47c5 In pmap_emulate_reference(), always or in the bits. I know the code is trying
to be clever, but...
Also, a slight optimization for the write case.
1999-11-27 00:25:15 +00:00
mycroft
f26df92bed Fix bugs in pmap_protect() that were responsible for the `ld.elf_so lossage'.
* We could overrun the eva by as much as L1SEG_SIZE-PAGE_SIZE.
* sva was advanced *twice* for each valid l3 or l2 page, causing it to get out
  of sync with the PTE pointers.
1999-11-26 23:04:33 +00:00
is
14d940c179 Jens, not Joerg 1999-11-25 22:11:03 +00:00
is
5a05d40012 Address range scaling is hidden by the bus_space functions. Correct the
definitions in case we ever do bus_space accounting on Amiga.
1999-11-25 21:58:57 +00:00
is
366a09427a Add a few boards we know about.
This should really be table-driven and optional.
1999-11-25 21:57:45 +00:00
is
57ac5a3ea7 Another RTL8019 board: X-serve by Individual Computers Jens Schoenfeld. 1999-11-25 21:53:01 +00:00
is
df61f0409e From the 68040 User Manual, page 4-10:
"To fully support self-modifying code in any situation, it is imperative that
a CPUSHA intrcution is executed before the execution of the first self-modified
instruction. The CPUSHA instruction has the effect of ensuring that there is
no stale data iin memory, the pipeline is flushed, and instruction prefetches
are repeated and taken from external memory."

I verified that this is the only way (I can think of) to make the sigtramp
regression test work on 68040. doing cpushl dc; cinvl ic; over the affected
address range, then nop (to synchronize the pipeline) is not enough; apparently
the nop does not FLUSH the pipeline and prefetch...

Note that the 68060 UM has copied the above cited passage, but in fact this is
not true. This might be connected to the fact that the 68060 does ensure
memory access order under most conditions.
1999-11-25 20:30:38 +00:00
ad
6783a346b9 Fix date in copyright string. 1999-11-25 16:40:19 +00:00
pk
249aa2e089 Target `machine' symlink explicitly at the sparc64 headers. 1999-11-25 14:46:08 +00:00
pk
e0118ca933 Suppress the machine' symlink when making target obj'.
Also add it to the clean target list.
1999-11-25 13:27:30 +00:00
pk
b797a06151 Make symlink to appropriate header directory and have cpp use it. 1999-11-25 13:25:09 +00:00
mrg
dcba4f5e10 use a portable invocation for cc -E 1999-11-25 06:06:03 +00:00
mrg
ca66e6b619 - pass slot number to sbus_get_intr() as a new argument.
- in sbus_get_intr(), if we are not an onboard device (ie, sbus card),
  encode the slot number into the sbi_pri so that we can later extract
  it and use it to find the interrupt map & clear registers for this
  device.
- remove "intr" support as it is really pre-sun4u only.
- don't "pause" for so long in sbus interrupt debug messages..

with the slot number being passed back from sbus_get_intr(), the FS/BE
card in an ultra2 now appears to get interrupts and gets beyond
waiting for the scsibus probe!
1999-11-25 05:03:53 +00:00
nisimura
36e75e7449 Some fix on comment descriptions. 1999-11-25 02:53:46 +00:00
nisimura
94b897d4bf Reorder device descriptions to reflect what kernel shows on screen,
mostly in address ascending order.
1999-11-25 02:48:12 +00:00
simonb
353ca54019 Move memory sizing to a new function memsize_scan(), and add an empty
stub for memsize_bitmap() to use the PROM bitmap for memory information.
Add a memsize function pointer to the platform structure, and make all
existing DECstation models use memsize_scan() for now.

Interestingly, from the Ultrix cpuconf.{c,h} only the 3100 and 5400 use
a memory scan to determine available memory - all other models use the
PROM bitmap...
1999-11-25 01:40:22 +00:00
scottr
2454426afe Take a cue from the i386 port: Enable DHCP by default, rather than
BOOTP.
1999-11-24 22:01:19 +00:00
drochner
cfabac64f5 fix vm_page initialization for the case where kernel+symbols+tables
exceed 16M
1999-11-24 18:32:50 +00:00
simonb
93d33f5806 Wildcard 3max {asc,le}0 at tc attachment. 1999-11-24 02:25:37 +00:00