simonb
b2e8253950
Zero out the TX buffer when padding packet to ETHER_MIN_LEN-ETHER_CRC_LEN.
2003-01-17 12:40:20 +00:00
simonb
c018fbe68d
Tidy up event counter increments a little.
2003-01-16 01:14:17 +00:00
simonb
c69f520bc8
Removed unused register map; this info is now passed in with the attach
...
args.
2003-01-16 01:05:39 +00:00
rafal
0cc0813590
Add the MIPS3_CONFIG_SE (name taken from Rm52xx manual) bit, which is the
...
external cache enable bit -- this allows software to enable or disable the
(external) L2 cache on the R5k and Rm527x and the (external) L3 cache on
the Rm7k. If the (external) cache is disabled, treat it as if there were
no cache for the purposes of the cache setup code.
Also, update sgimips code to use the new name.
2003-01-10 03:22:48 +00:00
wiz
1035faff1d
writable, not writeable.
2003-01-06 20:30:28 +00:00
thorpej
dbb0f0ebed
Use aprint_normal() for cfprint routines.
2003-01-01 01:47:30 +00:00
manu
4a06119a9d
Pass the system call table to trace_enter() and ktrsys() so that it is
...
possible to use alternate system call tables. This is usefull for
displaying correctly the arguments in Mach binaries traces.
If NULL is given, then the regular systam call table for the process is used.
2002-12-21 16:23:56 +00:00
simonb
5b6caeca74
Mark the Au1x00 CPUs as having a fully coherent data cache that doesn't
...
require flushing (even in the instruction cache handlers). This gives
about a 4% improvement in a "make depend" benchmark.
Mark the SB-1 CPUs as having a fully coherent data cache that only
require flushing in the instruction cache handlers. This gives about
a 5% improvement in a "make depend" benchmark.
2002-12-17 12:07:50 +00:00
simonb
2c1a832f25
Add support for caches where the data cache is fully coherent, and
...
either requires flushing either only when the I cache ops are used
or not at all. Currently only used by MIPS32/MIPS64 cache code.
2002-12-17 12:04:29 +00:00
thorpej
e8cc3884de
Rename __LDPGSZ to AOUT_LDPGSZ, to accurately reflect what it is.
2002-12-10 17:14:02 +00:00
thorpej
78ea2dd367
Use __LDPGSZ (which must be == USRTEXT) as the text address for a.out
...
executables, and eliminate the USRTEXT constant, which was only used
by the a.out exec code.
2002-12-10 05:14:24 +00:00
simonb
6a5e492b57
Remove the explicit `makeoptions MACHINE_ARCH="mipse{b,l}"' for kernel
...
builds and use the endianness of the toolchain being used to determine
the endianness of the kernel.
2002-12-09 22:54:09 +00:00
simonb
699bf96665
Drop the _KERNEL test; these functions are needed for SMP and other ports
...
don't bother with a _KERNEL check.
2002-12-05 02:56:51 +00:00
tsutsui
d03ac2a783
Fix botch in previous. This is pcb.h, not reg.h.
2002-11-30 22:50:01 +00:00
jdolecek
9a87c0933c
make LKM friedlier - only include opt_* ifdef _KERNEL_OPT
2002-11-30 10:52:16 +00:00
simonb
fdd1e3b715
Standardise on #ifdef _MIPS_<header>_H_ for multiple inclusion tests.
2002-11-30 01:52:31 +00:00
simonb
d644dd9c43
Add multiple-inclusion protection.
2002-11-30 01:49:18 +00:00
lukem
0635de35a3
Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
2002-11-26 23:30:07 +00:00
simonb
12c35ee2d2
New generic way-aware MIPS32/64 range-index cache functions with proper
...
handling for phyiscally-indexed caches where the way size is greater than
the page size.
These work fine with pass 1 SB1 cores, so g/c those workarounds.
Much thanks to Chris Demetriou for many suggestions and helping me get
my head around all this.
2002-11-24 07:41:29 +00:00
simonb
3a72aadc2b
Add the VI bit in config 0.
2002-11-24 07:28:42 +00:00
simonb
3682edd3d4
Move the curpcb and segbase extern decls to cpu.h to better group together
...
what will need to change for SMP.
Hide 'struct cpu_info' and some macros in #ifdef _KERNEL/#endif.
2002-11-24 07:26:04 +00:00
cgd
8935916d0a
initial support for mac features in new chip revs
2002-11-19 01:44:04 +00:00
simonb
5e3d4a224c
Add cache_r4k_op_8lines_{16,32} macros to perform cache ops on 8
...
consecutive lines.
2002-11-17 06:40:43 +00:00
simonb
aa5595f691
Fix typo in the address of the Au1500 MAC1 enable register; 2nd MAC works
...
on the Au1500 cpu now.
2002-11-17 04:57:34 +00:00
simonb
ba1c8ffa9d
Remove reference to mips_int5_evcnt from here; that is port-specific,
...
not arch-specific.
2002-11-17 04:56:57 +00:00
manu
d584ed9598
Add a realcode argument to trace_enter and ktrsyscall. realcode is the
...
original system call number, which can be negative for a Mach trap.
We cannot just replace code by realcode, because ktrsyscall uses it as
an index in the system call table, thus crashing the kernel when the
value is negative.
2002-11-15 20:06:00 +00:00
simonb
5bdb1a36ce
Add a hack to mipsNN_pdcache_wbinv_range_index_32_4way() so that we
...
use the index ops at a offset of the page size as well, controlled by
an MIPS64_SB1 check. The SB1 D-cache way size is physically indexed
and twice as big as the page size (4k), so we weren't flushing all the
addresses we needed too.
XXX: This is kinda gross; will be cleaned up and made more generic soon.
There are still other SB1-specific issues to be cleaned up too...
2002-11-15 01:23:17 +00:00
simonb
181d7f08c9
Use COP0_HAZARD_FPUENABLE instead of a hard-coded 4 NOPs when enabling
...
the FPU.
2002-11-15 01:16:18 +00:00
simonb
2aabe4d4e2
Define COP0_HAZARD_FPUENABLE as four nops.
...
Include <mips/sb1regs.h> if MIPS64_SB1 is defined.
2002-11-15 01:15:11 +00:00
simonb
383afcb5b6
Declare some CP0 hazards for the SB1 core.
2002-11-15 01:09:20 +00:00
simonb
28a1083dd2
Put the MIPS64_SB1 option in opt_cputype.h.
2002-11-15 01:02:49 +00:00
simonb
3d416825dc
White space nits.
2002-11-15 00:58:32 +00:00
nisimura
abad61e77f
Remove o32 stack layout exposure form cpu_fork().
...
Tested on R4000 and R3000.
2002-11-12 14:00:41 +00:00
simonb
96c9d84cda
Add support for the ST M41T81 RTC found on pass 2 swarm boards.
...
XXX: Much of this should live in arch/sbmips instead of arch/mips/sibyte.
XXX: These should be replaced with MI SMBus drivers one day.
2002-11-12 01:22:25 +00:00
he
aba5de5e41
Remove a PARANOIADIAG check which is a bit too paranoid. This one
...
would now trigger whenever a previously used "cached" uarea was reused.
Reviewed by thorpej and chs.
2002-11-11 22:30:15 +00:00
simonb
396f36cc12
Fix a typo in the on-board device selection machinery (which I thought
...
I'd committed long ago).
2002-11-11 16:39:18 +00:00
simonb
2e98091daf
Make sure we use index ops (instead of hit ops) in the range index
...
functions.
Fix typos in the cache_r4k_op_32_4way_load_off macro.
Both problems reported by Chris Demetriou.
2002-11-10 11:11:39 +00:00
simonb
b8eff8f9aa
Adapt for the ioctl ERESTART/EPASSTHROUGH changes.
...
Make sure we don't tsleep() at splhigh/splserial.
2002-11-10 11:06:11 +00:00
simonb
6fb837941b
Remove some copyright notices that don't apply to this code.
2002-11-10 11:01:15 +00:00
nisimura
983202f1ed
Change pmap_kenter_pa/pmap_kremove pair back to pmap_enter/pmap_remove
...
in fear of the case choosen kva results in occupying inconsistent
distinctive cache lines of uva.
2002-11-10 05:29:18 +00:00
nisimura
2a312dd17f
Use pmap_enter_pa and pmap_kremove for vmapbuf/vunmapbuf, respectively.
...
Have variable names renamed for the logic clarity.
2002-11-10 02:27:50 +00:00
thorpej
84ccc9c46e
Build with kernel with -msoft-float.
2002-11-09 20:34:26 +00:00
thorpej
ff114c4a59
Fix signed/unsigned comparison warnings.
2002-11-09 20:06:07 +00:00
thorpej
21ca5cbcc7
Make md_ss_addr a vaddr_t.
2002-11-09 20:05:57 +00:00
thorpej
800f626770
Fix signed/unsigned comparison warnings.
2002-11-09 20:00:20 +00:00
thorpej
0c2979d1c8
Fix signed/unsigned comparison warnings.
2002-11-09 19:35:52 +00:00
thorpej
4d7f6969a5
Make cache size/mask variables unsigned.
2002-11-09 19:34:39 +00:00
thorpej
73f78d5e61
Fix signed/unsigned comparison warnings.
2002-11-09 18:52:20 +00:00
thorpej
3689b18f89
* Add -mno-abicalls to AFLAGS.
...
* GCC 3.3's traditional preprocessor functions properly now, so we
no longer need to special-case it.
2002-11-09 18:18:22 +00:00
thorpej
a99bec6b60
Nuke the CROSSDIR stuff.
2002-11-09 18:12:09 +00:00
nisimura
94df053502
Nuke "mips_reg_t" exposures from here. "mips_reg_t" will be
...
corrected-back with "register_t" by completing the implementations
of N32 and LP64 environment.
2002-11-09 10:59:52 +00:00
thorpej
e935239e3c
No need to pass -mno-half-pic; NetBSD's compiler does not generate
...
half-pic references.
2002-11-09 07:31:08 +00:00
simonb
31fcce3c41
Include <sys/device.h> so this compiles again.
2002-11-09 04:13:03 +00:00
nisimura
8d6e18f90d
- Make monolistic files into smaller manageable pieces, resulting
...
three new files;
sig_machdep.c (from mips_machdep.c)
copy.S and sigcode.S (from locore.S)
- Nuke the local use of struct sigframe, which is now identical to
struct sigcontext, from sendsig() as the consequence of new signal
trampoline.
2002-11-09 02:02:31 +00:00
cgd
48164df6b2
handle different SOC types and features a little better
2002-11-08 19:53:29 +00:00
cgd
f4a3e5f997
fix long-standing pasto in DMA config1 register address setting
2002-11-08 19:40:05 +00:00
cgd
49c87f0804
update to latest CFE API code
2002-11-08 19:35:38 +00:00
cgd
99a582aab5
Calculate end virtual address for cache ops before chopping low bits
...
(line mask) off of starting address. Otherwise, could miss the final
line that the ops should have been operating on. Reviewed by simonb.
2002-11-08 07:35:20 +00:00
cgd
1f2efd0d77
update SiByte includes from their master versions. (main differences:
...
bug fixes, conditionalization of different chip support, new features.)
(Reviewed and tested by simonb.)
2002-11-08 07:32:40 +00:00
simonb
0b3b87b6c8
Whitespace nit.
2002-11-08 04:13:13 +00:00
simonb
28cb103184
Note a new MIPS64_SB1 option that should be included in opt_cputype.h
...
one day.
2002-11-08 00:50:49 +00:00
simonb
220b08b128
Sprinkle a little more COP0_SYNC (in an unused function...).
2002-11-08 00:49:32 +00:00
cgd
a13b227af2
fix errors in calculating the ending VA to use in r4k_icache_sync_range_16
...
and r5k_icache_sync_range_32. (reviewed by thorpej.)
2002-11-07 23:03:21 +00:00
cgd
d6cd994028
don't under COP0_SYNC. (approved by simonb.)
2002-11-07 05:39:48 +00:00
thorpej
0bc2a57e26
Use named indices for RA, SR, MULLO, MULHI, and EPC in the
...
trapframe.
2002-11-04 20:02:09 +00:00
thorpej
fab408c3af
Use named indices for trapframe slots, and use the TA0-TA3 names
...
where appropriate.
2002-11-04 19:51:05 +00:00
thorpej
c8fbf16072
Define named constants for the trapframe register idices (they
...
are different from the normal register numbers). Use these names
in genassym.cf. (Wow, how ever did that test kernel boot before...)
2002-11-04 19:40:04 +00:00
thorpej
ad825a97f1
t4-t7 -> ta0-ta3
2002-11-04 18:54:13 +00:00
thorpej
1d0b5f8106
A few more t4-t7 -> ta0-ta3 that I missed before.
2002-11-04 18:45:55 +00:00
thorpej
731fe805a1
t4-t7 -> ta0-ta3
2002-11-04 18:41:37 +00:00
thorpej
32d1740afc
Add FRAME_[TA0-TA3] and TF_REG_[TA0-TA3]. Change TF_REG_* to use
...
defined constants for register indices, rather than hard-coded numbers.
2002-11-04 18:41:03 +00:00
thorpej
65fdfe7d64
Add TA0-TA3 register indices.
2002-11-04 04:24:48 +00:00
thorpej
abaff8e1c6
t4-t7 -> ta0-ta3
2002-11-04 04:06:51 +00:00
thorpej
3e54f426e0
Rearrange mips_pagecopy() and mips_pagezero() for N32/LP64.
...
XXX Does not yet use the correct reg names for new-ABI.
2002-11-04 04:04:32 +00:00
thorpej
1bf923d5f3
Add N32 register vars.
2002-11-04 03:46:18 +00:00
thorpej
aa2b9a65fc
Add SGI-compatible ta0-ta3 register names. These allow one to write
...
asm code which can be built easily in old-ABI and new-ABI environemnts.
In old-ABI, they map to t4-t7, and in new-ABI, they map to a4-a7. This
means that t0-t3,ta0-ta3,t8,t9 are available in both ABIs.
Because ta0-ta3 overlap with arg regs (albeit arg slots which are usually
unused), they should be used only if t0-t3,t8,t9 isn't enough.
2002-11-04 03:38:32 +00:00
thorpej
bae541911c
Add N32/N64 reg names.
2002-11-04 03:30:32 +00:00
thorpej
15d3b348c9
Add LP64 limits.
2002-11-03 20:02:39 +00:00
thorpej
9f9d6d33f4
Add LP64 types, limits, formats.
2002-11-03 19:55:23 +00:00
thorpej
f8dceffac5
Add LP64 macros.
2002-11-03 19:24:55 +00:00
thorpej
c88320f8d7
Add LP64 types.
2002-11-03 19:22:00 +00:00
thorpej
16084f1873
Add _LP64 types.
2002-11-03 17:43:07 +00:00
thorpej
c5adb2880e
In the _MIPS_PADDR_T_64BIT case, only use "unsigned long long" if _LP64
...
is not defined.
2002-11-03 17:35:32 +00:00
nisimura
ad5b782866
Retire __HAVE_MD_RUNQUEUE from MD types.h and remove
...
setrunqueue/remrunqueue from locore.S. C codes are
compiled a bit shorter and provide better DIAGNOSTICs.
2002-11-03 13:47:34 +00:00
nisimura
5a63303fc1
Add two PRiD values.
...
- 0x55 for NEC Vr5500. ISA might be MIPS64.
- 0x38 for Toshiba TX79. This has thirty-two 128bit GPRs while
maintaining 32bit only virtual address space. Any of pointer related
registers have 32bit.
2002-11-03 13:16:11 +00:00
thorpej
3d93c95dc8
Make register_t == long long for N32, and == long for everthing else.
...
Use register_t in label_t.
2002-11-02 02:45:22 +00:00
thorpej
3517ae5f6a
Define N32/N64 register usage.
2002-11-02 02:00:17 +00:00
jdolecek
e0cc03a09b
merge kqueue branch into -current
...
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals
kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)
based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
2002-10-23 09:10:23 +00:00
chs
b79663cf62
eliminate PT_ENTRY_NULL in favor of plain old NULL.
2002-10-14 05:11:21 +00:00
simonb
b1a30609f9
Install the kernel linker script in /usr/lkm/ldscript so that modload(8)
...
works without needing to resort to -A abuse. LKMs work cleanly on MIPS
now.
2002-10-10 01:59:29 +00:00
chs
993948e989
count executable image pages as executable for vm-usage purposes.
...
also, always do the VTEXT vs. v_writecount mutual exclusion
(which we previously skipped if the text or data segment was empty).
2002-10-05 22:34:02 +00:00
thorpej
89bf5a8f8e
Add trailing ; to CFATTACH_DECL.
2002-10-02 15:52:22 +00:00
thorpej
c5e91d447d
Use CFATTACH_DECL().
2002-10-02 04:55:47 +00:00
thorpej
c4cbfcf060
Use CFATTACH_DECL().
2002-10-01 02:54:11 +00:00
thorpej
f818766afe
Declare all cfattach structures const.
2002-09-27 20:31:45 +00:00
provos
0f09ed48a5
remove trailing \n in panic(). approved perry.
2002-09-27 15:35:29 +00:00
thorpej
6c88de3b53
Introduce a new routine, config_match(), which invokes the
...
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
thorpej
d1ad2ac4f2
Rather than referencing the cfdriver directly in the cfdata entries,
...
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +00:00
thorpej
274c086b22
Remove <sys/map.h>
2002-09-26 18:54:30 +00:00
simonb
63096043b3
Use "#define\t" instead of "#define ".
2002-09-22 08:30:56 +00:00