#
1.119 |
|
27-May-2021 |
simonb |
Rename the unhelpfully named mips_emul_lwc0() and mips_emul_swc0() to mips_emul_ll() and mips_emul_sc(); make these static to mips_emul.c.
|
Revision tags: thorpej-i2c-spi-conf-base
|
#
1.118 |
|
12-May-2021 |
simonb |
Whitespace nit.
|
Revision tags: cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base
|
#
1.117 |
|
02-Mar-2021 |
skrll |
branches: 1.117.4; Ensure the "memory" clobber is on inline assembly store operations
No binary change of note with this change in MALTA32
|
#
1.116 |
|
22-Aug-2020 |
simonb |
branches: 1.116.2; Invert the MIPS-I non-4kB page size check. The previous check doesn't fail if both MIPS1 and MIPS3_PLUS are defined. Explictly check against MIPS1.
|
#
1.115 |
|
17-Aug-2020 |
mrg |
port crash(8) to mips. (most of the kernel side.)
- expose parts of _KERNEL to _KMEMUSER as well - hide more things for _KERNEL - avoid DB_MACHINE_COMMANDS in crash(8) - XXX add mips_label_t for !_KERNEL and use it in the pcb to avoid conflicting with the ddb/crash one - enable dumppcb
some changes to make stack trace fail instead of SEGV and the userland changes to crash itself not part of this change.
|
#
1.114 |
|
15-Aug-2020 |
mrg |
move stacktrace_subr() from trap.c into new mips_stacktrace.c so it can be shared between ddb, other mips kernel components (see locore), and an upcoming crash(8) port.
remove second copy of kdbpeek() (hidden by old DDB_TRACE option, but they're functionally equivalent.)
tested on octeon.
ok simonb@
|
#
1.113 |
|
31-Jul-2020 |
simonb |
Fix a tyop. Thankfully this #define was unused.
|
#
1.112 |
|
31-Jul-2020 |
simonb |
CP0 Config6 and Config7 aren't probeable. Adjust comments for these two.
|
#
1.111 |
|
27-Jul-2020 |
skrll |
Fix typo _MODULAR -> _MODULE. Hopefully this fixes the builds.
|
#
1.110 |
|
26-Jul-2020 |
simonb |
#define<tab> Nuke trailing whitespace.
|
#
1.109 |
|
23-Jul-2020 |
skrll |
unifdef -U_LKM
|
#
1.108 |
|
23-Jul-2020 |
skrll |
Trailing whitespace
|
#
1.107 |
|
14-Jun-2020 |
simonb |
Retire MIPS_CP0FL_USERLOCAL and MIPS_CP0FL_HWRENA and the flawed logic that tried to deal with a MIPS processor that supports the ULR CP0 register. Probe correctly and save probed info somewhere we can actually use it. Avoids problems where libc expects ULR set to a value but the CPU definition in the CPU table didn't have the right combination of magic flags and thus never set ULR in the first place.
|
#
1.106 |
|
13-Jun-2020 |
simonb |
Note some hard-coded capabilties that can be probed.
XXX: Fix this and CPU table in mips/mips_machdep.c one day...
|
#
1.105 |
|
24-May-2020 |
simonb |
Add mipsNN_cp0_rdhwr_cpunum() which returns the current CPU number read from the CPUNum hardware register on MIPS{32,64}R2.
|
Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.104 |
|
06-Apr-2019 |
thorpej |
Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.103 |
|
08-Feb-2018 |
bouyer |
branches: 1.103.4; Allow kdbpeek() to return failure. If it does, stop the stack trace. Prevents an infinite loop in ddb if something goes wrong.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.102 |
|
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
branches: 1.101.2; sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
branches: 1.93.2; Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|
#
1.118 |
|
12-May-2021 |
simonb |
Whitespace nit.
|
Revision tags: cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.117 |
|
02-Mar-2021 |
skrll |
Ensure the "memory" clobber is on inline assembly store operations
No binary change of note with this change in MALTA32
|
#
1.116 |
|
22-Aug-2020 |
simonb |
branches: 1.116.2; Invert the MIPS-I non-4kB page size check. The previous check doesn't fail if both MIPS1 and MIPS3_PLUS are defined. Explictly check against MIPS1.
|
#
1.115 |
|
17-Aug-2020 |
mrg |
port crash(8) to mips. (most of the kernel side.)
- expose parts of _KERNEL to _KMEMUSER as well - hide more things for _KERNEL - avoid DB_MACHINE_COMMANDS in crash(8) - XXX add mips_label_t for !_KERNEL and use it in the pcb to avoid conflicting with the ddb/crash one - enable dumppcb
some changes to make stack trace fail instead of SEGV and the userland changes to crash itself not part of this change.
|
#
1.114 |
|
15-Aug-2020 |
mrg |
move stacktrace_subr() from trap.c into new mips_stacktrace.c so it can be shared between ddb, other mips kernel components (see locore), and an upcoming crash(8) port.
remove second copy of kdbpeek() (hidden by old DDB_TRACE option, but they're functionally equivalent.)
tested on octeon.
ok simonb@
|
#
1.113 |
|
31-Jul-2020 |
simonb |
Fix a tyop. Thankfully this #define was unused.
|
#
1.112 |
|
31-Jul-2020 |
simonb |
CP0 Config6 and Config7 aren't probeable. Adjust comments for these two.
|
#
1.111 |
|
27-Jul-2020 |
skrll |
Fix typo _MODULAR -> _MODULE. Hopefully this fixes the builds.
|
#
1.110 |
|
26-Jul-2020 |
simonb |
#define<tab> Nuke trailing whitespace.
|
#
1.109 |
|
23-Jul-2020 |
skrll |
unifdef -U_LKM
|
#
1.108 |
|
23-Jul-2020 |
skrll |
Trailing whitespace
|
#
1.107 |
|
14-Jun-2020 |
simonb |
Retire MIPS_CP0FL_USERLOCAL and MIPS_CP0FL_HWRENA and the flawed logic that tried to deal with a MIPS processor that supports the ULR CP0 register. Probe correctly and save probed info somewhere we can actually use it. Avoids problems where libc expects ULR set to a value but the CPU definition in the CPU table didn't have the right combination of magic flags and thus never set ULR in the first place.
|
#
1.106 |
|
13-Jun-2020 |
simonb |
Note some hard-coded capabilties that can be probed.
XXX: Fix this and CPU table in mips/mips_machdep.c one day...
|
#
1.105 |
|
24-May-2020 |
simonb |
Add mipsNN_cp0_rdhwr_cpunum() which returns the current CPU number read from the CPUNum hardware register on MIPS{32,64}R2.
|
Revision tags: netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.104 |
|
06-Apr-2019 |
thorpej |
Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.103 |
|
08-Feb-2018 |
bouyer |
branches: 1.103.4; Allow kdbpeek() to return failure. If it does, stop the stack trace. Prevents an infinite loop in ddb if something goes wrong.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.102 |
|
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
branches: 1.101.2; sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
branches: 1.93.2; Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|
#
1.117 |
|
02-Mar-2021 |
skrll |
Ensure the "memory" clobber is on inline assembly store operations
No binary change of note with this change in MALTA32
|
Revision tags: thorpej-futex-base
|
#
1.116 |
|
22-Aug-2020 |
simonb |
Invert the MIPS-I non-4kB page size check. The previous check doesn't fail if both MIPS1 and MIPS3_PLUS are defined. Explictly check against MIPS1.
|
#
1.115 |
|
17-Aug-2020 |
mrg |
port crash(8) to mips. (most of the kernel side.)
- expose parts of _KERNEL to _KMEMUSER as well - hide more things for _KERNEL - avoid DB_MACHINE_COMMANDS in crash(8) - XXX add mips_label_t for !_KERNEL and use it in the pcb to avoid conflicting with the ddb/crash one - enable dumppcb
some changes to make stack trace fail instead of SEGV and the userland changes to crash itself not part of this change.
|
#
1.114 |
|
15-Aug-2020 |
mrg |
move stacktrace_subr() from trap.c into new mips_stacktrace.c so it can be shared between ddb, other mips kernel components (see locore), and an upcoming crash(8) port.
remove second copy of kdbpeek() (hidden by old DDB_TRACE option, but they're functionally equivalent.)
tested on octeon.
ok simonb@
|
#
1.113 |
|
31-Jul-2020 |
simonb |
Fix a tyop. Thankfully this #define was unused.
|
#
1.112 |
|
31-Jul-2020 |
simonb |
CP0 Config6 and Config7 aren't probeable. Adjust comments for these two.
|
#
1.111 |
|
27-Jul-2020 |
skrll |
Fix typo _MODULAR -> _MODULE. Hopefully this fixes the builds.
|
#
1.110 |
|
26-Jul-2020 |
simonb |
#define<tab> Nuke trailing whitespace.
|
#
1.109 |
|
23-Jul-2020 |
skrll |
unifdef -U_LKM
|
#
1.108 |
|
23-Jul-2020 |
skrll |
Trailing whitespace
|
#
1.107 |
|
14-Jun-2020 |
simonb |
Retire MIPS_CP0FL_USERLOCAL and MIPS_CP0FL_HWRENA and the flawed logic that tried to deal with a MIPS processor that supports the ULR CP0 register. Probe correctly and save probed info somewhere we can actually use it. Avoids problems where libc expects ULR set to a value but the CPU definition in the CPU table didn't have the right combination of magic flags and thus never set ULR in the first place.
|
#
1.106 |
|
13-Jun-2020 |
simonb |
Note some hard-coded capabilties that can be probed.
XXX: Fix this and CPU table in mips/mips_machdep.c one day...
|
#
1.105 |
|
24-May-2020 |
simonb |
Add mipsNN_cp0_rdhwr_cpunum() which returns the current CPU number read from the CPUNum hardware register on MIPS{32,64}R2.
|
Revision tags: netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.104 |
|
06-Apr-2019 |
thorpej |
Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.103 |
|
08-Feb-2018 |
bouyer |
branches: 1.103.4; Allow kdbpeek() to return failure. If it does, stop the stack trace. Prevents an infinite loop in ddb if something goes wrong.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.102 |
|
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
branches: 1.101.2; sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
branches: 1.93.2; Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|
#
1.116 |
|
22-Aug-2020 |
simonb |
Invert the MIPS-I non-4kB page size check. The previous check doesn't fail if both MIPS1 and MIPS3_PLUS are defined. Explictly check against MIPS1.
|
#
1.115 |
|
17-Aug-2020 |
mrg |
port crash(8) to mips. (most of the kernel side.)
- expose parts of _KERNEL to _KMEMUSER as well - hide more things for _KERNEL - avoid DB_MACHINE_COMMANDS in crash(8) - XXX add mips_label_t for !_KERNEL and use it in the pcb to avoid conflicting with the ddb/crash one - enable dumppcb
some changes to make stack trace fail instead of SEGV and the userland changes to crash itself not part of this change.
|
#
1.114 |
|
15-Aug-2020 |
mrg |
move stacktrace_subr() from trap.c into new mips_stacktrace.c so it can be shared between ddb, other mips kernel components (see locore), and an upcoming crash(8) port.
remove second copy of kdbpeek() (hidden by old DDB_TRACE option, but they're functionally equivalent.)
tested on octeon.
ok simonb@
|
#
1.113 |
|
31-Jul-2020 |
simonb |
Fix a tyop. Thankfully this #define was unused.
|
#
1.112 |
|
31-Jul-2020 |
simonb |
CP0 Config6 and Config7 aren't probeable. Adjust comments for these two.
|
#
1.111 |
|
27-Jul-2020 |
skrll |
Fix typo _MODULAR -> _MODULE. Hopefully this fixes the builds.
|
#
1.110 |
|
26-Jul-2020 |
simonb |
#define<tab> Nuke trailing whitespace.
|
#
1.109 |
|
23-Jul-2020 |
skrll |
unifdef -U_LKM
|
#
1.108 |
|
23-Jul-2020 |
skrll |
Trailing whitespace
|
#
1.107 |
|
14-Jun-2020 |
simonb |
Retire MIPS_CP0FL_USERLOCAL and MIPS_CP0FL_HWRENA and the flawed logic that tried to deal with a MIPS processor that supports the ULR CP0 register. Probe correctly and save probed info somewhere we can actually use it. Avoids problems where libc expects ULR set to a value but the CPU definition in the CPU table didn't have the right combination of magic flags and thus never set ULR in the first place.
|
#
1.106 |
|
13-Jun-2020 |
simonb |
Note some hard-coded capabilties that can be probed.
XXX: Fix this and CPU table in mips/mips_machdep.c one day...
|
#
1.105 |
|
24-May-2020 |
simonb |
Add mipsNN_cp0_rdhwr_cpunum() which returns the current CPU number read from the CPUNum hardware register on MIPS{32,64}R2.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.104 |
|
06-Apr-2019 |
thorpej |
Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.103 |
|
08-Feb-2018 |
bouyer |
branches: 1.103.4; Allow kdbpeek() to return failure. If it does, stop the stack trace. Prevents an infinite loop in ddb if something goes wrong.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.102 |
|
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
branches: 1.101.2; sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
branches: 1.93.2; Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|
#
1.115 |
|
17-Aug-2020 |
mrg |
port crash(8) to mips. (most of the kernel side.)
- expose parts of _KERNEL to _KMEMUSER as well - hide more things for _KERNEL - avoid DB_MACHINE_COMMANDS in crash(8) - XXX add mips_label_t for !_KERNEL and use it in the pcb to avoid conflicting with the ddb/crash one - enable dumppcb
some changes to make stack trace fail instead of SEGV and the userland changes to crash itself not part of this change.
|
#
1.114 |
|
15-Aug-2020 |
mrg |
move stacktrace_subr() from trap.c into new mips_stacktrace.c so it can be shared between ddb, other mips kernel components (see locore), and an upcoming crash(8) port.
remove second copy of kdbpeek() (hidden by old DDB_TRACE option, but they're functionally equivalent.)
tested on octeon.
ok simonb@
|
#
1.113 |
|
31-Jul-2020 |
simonb |
Fix a tyop. Thankfully this #define was unused.
|
#
1.112 |
|
31-Jul-2020 |
simonb |
CP0 Config6 and Config7 aren't probeable. Adjust comments for these two.
|
#
1.111 |
|
27-Jul-2020 |
skrll |
Fix typo _MODULAR -> _MODULE. Hopefully this fixes the builds.
|
#
1.110 |
|
26-Jul-2020 |
simonb |
#define<tab> Nuke trailing whitespace.
|
#
1.109 |
|
23-Jul-2020 |
skrll |
unifdef -U_LKM
|
#
1.108 |
|
23-Jul-2020 |
skrll |
Trailing whitespace
|
#
1.107 |
|
14-Jun-2020 |
simonb |
Retire MIPS_CP0FL_USERLOCAL and MIPS_CP0FL_HWRENA and the flawed logic that tried to deal with a MIPS processor that supports the ULR CP0 register. Probe correctly and save probed info somewhere we can actually use it. Avoids problems where libc expects ULR set to a value but the CPU definition in the CPU table didn't have the right combination of magic flags and thus never set ULR in the first place.
|
#
1.106 |
|
13-Jun-2020 |
simonb |
Note some hard-coded capabilties that can be probed.
XXX: Fix this and CPU table in mips/mips_machdep.c one day...
|
#
1.105 |
|
24-May-2020 |
simonb |
Add mipsNN_cp0_rdhwr_cpunum() which returns the current CPU number read from the CPUNum hardware register on MIPS{32,64}R2.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.104 |
|
06-Apr-2019 |
thorpej |
Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.103 |
|
08-Feb-2018 |
bouyer |
branches: 1.103.4; Allow kdbpeek() to return failure. If it does, stop the stack trace. Prevents an infinite loop in ddb if something goes wrong.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.102 |
|
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
branches: 1.101.2; sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
branches: 1.93.2; Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|
#
1.114 |
|
15-Aug-2020 |
mrg |
move stacktrace_subr() from trap.c into new mips_stacktrace.c so it can be shared between ddb, other mips kernel components (see locore), and an upcoming crash(8) port.
remove second copy of kdbpeek() (hidden by old DDB_TRACE option, but they're functionally equivalent.)
tested on octeon.
ok simonb@
|
#
1.113 |
|
31-Jul-2020 |
simonb |
Fix a tyop. Thankfully this #define was unused.
|
#
1.112 |
|
31-Jul-2020 |
simonb |
CP0 Config6 and Config7 aren't probeable. Adjust comments for these two.
|
#
1.111 |
|
27-Jul-2020 |
skrll |
Fix typo _MODULAR -> _MODULE. Hopefully this fixes the builds.
|
#
1.110 |
|
26-Jul-2020 |
simonb |
#define<tab> Nuke trailing whitespace.
|
#
1.109 |
|
23-Jul-2020 |
skrll |
unifdef -U_LKM
|
#
1.108 |
|
23-Jul-2020 |
skrll |
Trailing whitespace
|
#
1.107 |
|
14-Jun-2020 |
simonb |
Retire MIPS_CP0FL_USERLOCAL and MIPS_CP0FL_HWRENA and the flawed logic that tried to deal with a MIPS processor that supports the ULR CP0 register. Probe correctly and save probed info somewhere we can actually use it. Avoids problems where libc expects ULR set to a value but the CPU definition in the CPU table didn't have the right combination of magic flags and thus never set ULR in the first place.
|
#
1.106 |
|
13-Jun-2020 |
simonb |
Note some hard-coded capabilties that can be probed.
XXX: Fix this and CPU table in mips/mips_machdep.c one day...
|
#
1.105 |
|
24-May-2020 |
simonb |
Add mipsNN_cp0_rdhwr_cpunum() which returns the current CPU number read from the CPUNum hardware register on MIPS{32,64}R2.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.104 |
|
06-Apr-2019 |
thorpej |
Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.103 |
|
08-Feb-2018 |
bouyer |
branches: 1.103.4; Allow kdbpeek() to return failure. If it does, stop the stack trace. Prevents an infinite loop in ddb if something goes wrong.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.102 |
|
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
branches: 1.101.2; sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
branches: 1.93.2; Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|
#
1.113 |
|
31-Jul-2020 |
simonb |
Fix a tyop. Thankfully this #define was unused.
|
#
1.112 |
|
31-Jul-2020 |
simonb |
CP0 Config6 and Config7 aren't probeable. Adjust comments for these two.
|
#
1.111 |
|
27-Jul-2020 |
skrll |
Fix typo _MODULAR -> _MODULE. Hopefully this fixes the builds.
|
#
1.110 |
|
26-Jul-2020 |
simonb |
#define<tab> Nuke trailing whitespace.
|
#
1.109 |
|
23-Jul-2020 |
skrll |
unifdef -U_LKM
|
#
1.108 |
|
23-Jul-2020 |
skrll |
Trailing whitespace
|
#
1.107 |
|
14-Jun-2020 |
simonb |
Retire MIPS_CP0FL_USERLOCAL and MIPS_CP0FL_HWRENA and the flawed logic that tried to deal with a MIPS processor that supports the ULR CP0 register. Probe correctly and save probed info somewhere we can actually use it. Avoids problems where libc expects ULR set to a value but the CPU definition in the CPU table didn't have the right combination of magic flags and thus never set ULR in the first place.
|
#
1.106 |
|
13-Jun-2020 |
simonb |
Note some hard-coded capabilties that can be probed.
XXX: Fix this and CPU table in mips/mips_machdep.c one day...
|
#
1.105 |
|
24-May-2020 |
simonb |
Add mipsNN_cp0_rdhwr_cpunum() which returns the current CPU number read from the CPUNum hardware register on MIPS{32,64}R2.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.104 |
|
06-Apr-2019 |
thorpej |
Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.103 |
|
08-Feb-2018 |
bouyer |
branches: 1.103.4; Allow kdbpeek() to return failure. If it does, stop the stack trace. Prevents an infinite loop in ddb if something goes wrong.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.102 |
|
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
branches: 1.101.2; sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
branches: 1.93.2; Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|
#
1.111 |
|
27-Jul-2020 |
skrll |
Fix typo _MODULAR -> _MODULE. Hopefully this fixes the builds.
|
#
1.110 |
|
26-Jul-2020 |
simonb |
#define<tab> Nuke trailing whitespace.
|
#
1.109 |
|
23-Jul-2020 |
skrll |
unifdef -U_LKM
|
#
1.108 |
|
23-Jul-2020 |
skrll |
Trailing whitespace
|
#
1.107 |
|
14-Jun-2020 |
simonb |
Retire MIPS_CP0FL_USERLOCAL and MIPS_CP0FL_HWRENA and the flawed logic that tried to deal with a MIPS processor that supports the ULR CP0 register. Probe correctly and save probed info somewhere we can actually use it. Avoids problems where libc expects ULR set to a value but the CPU definition in the CPU table didn't have the right combination of magic flags and thus never set ULR in the first place.
|
#
1.106 |
|
13-Jun-2020 |
simonb |
Note some hard-coded capabilties that can be probed.
XXX: Fix this and CPU table in mips/mips_machdep.c one day...
|
#
1.105 |
|
24-May-2020 |
simonb |
Add mipsNN_cp0_rdhwr_cpunum() which returns the current CPU number read from the CPUNum hardware register on MIPS{32,64}R2.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.104 |
|
06-Apr-2019 |
thorpej |
Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.103 |
|
08-Feb-2018 |
bouyer |
branches: 1.103.4; Allow kdbpeek() to return failure. If it does, stop the stack trace. Prevents an infinite loop in ddb if something goes wrong.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.102 |
|
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
branches: 1.101.2; sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
branches: 1.93.2; Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|
#
1.110 |
|
26-Jul-2020 |
simonb |
#define<tab> Nuke trailing whitespace.
|
#
1.109 |
|
23-Jul-2020 |
skrll |
unifdef -U_LKM
|
#
1.108 |
|
23-Jul-2020 |
skrll |
Trailing whitespace
|
#
1.107 |
|
14-Jun-2020 |
simonb |
Retire MIPS_CP0FL_USERLOCAL and MIPS_CP0FL_HWRENA and the flawed logic that tried to deal with a MIPS processor that supports the ULR CP0 register. Probe correctly and save probed info somewhere we can actually use it. Avoids problems where libc expects ULR set to a value but the CPU definition in the CPU table didn't have the right combination of magic flags and thus never set ULR in the first place.
|
#
1.106 |
|
13-Jun-2020 |
simonb |
Note some hard-coded capabilties that can be probed.
XXX: Fix this and CPU table in mips/mips_machdep.c one day...
|
#
1.105 |
|
24-May-2020 |
simonb |
Add mipsNN_cp0_rdhwr_cpunum() which returns the current CPU number read from the CPUNum hardware register on MIPS{32,64}R2.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.104 |
|
06-Apr-2019 |
thorpej |
Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.103 |
|
08-Feb-2018 |
bouyer |
branches: 1.103.4; Allow kdbpeek() to return failure. If it does, stop the stack trace. Prevents an infinite loop in ddb if something goes wrong.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.102 |
|
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
branches: 1.101.2; sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
branches: 1.93.2; Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|
#
1.107 |
|
14-Jun-2020 |
simonb |
Retire MIPS_CP0FL_USERLOCAL and MIPS_CP0FL_HWRENA and the flawed logic that tried to deal with a MIPS processor that supports the ULR CP0 register. Probe correctly and save probed info somewhere we can actually use it. Avoids problems where libc expects ULR set to a value but the CPU definition in the CPU table didn't have the right combination of magic flags and thus never set ULR in the first place.
|
#
1.106 |
|
13-Jun-2020 |
simonb |
Note some hard-coded capabilties that can be probed.
XXX: Fix this and CPU table in mips/mips_machdep.c one day...
|
#
1.105 |
|
24-May-2020 |
simonb |
Add mipsNN_cp0_rdhwr_cpunum() which returns the current CPU number read from the CPUNum hardware register on MIPS{32,64}R2.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.104 |
|
06-Apr-2019 |
thorpej |
Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.103 |
|
08-Feb-2018 |
bouyer |
branches: 1.103.4; Allow kdbpeek() to return failure. If it does, stop the stack trace. Prevents an infinite loop in ddb if something goes wrong.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.102 |
|
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
branches: 1.101.2; sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
branches: 1.93.2; Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|
#
1.105 |
|
24-May-2020 |
simonb |
Add mipsNN_cp0_rdhwr_cpunum() which returns the current CPU number read from the CPUNum hardware register on MIPS{32,64}R2.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.104 |
|
06-Apr-2019 |
thorpej |
Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.103 |
|
08-Feb-2018 |
bouyer |
branches: 1.103.4; Allow kdbpeek() to return failure. If it does, stop the stack trace. Prevents an infinite loop in ddb if something goes wrong.
|
Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.102 |
|
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
branches: 1.101.2; sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
branches: 1.93.2; Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|
Revision tags: isaki-audio2-base
|
#
1.104 |
|
06-Apr-2019 |
thorpej |
Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
Revision tags: pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.103 |
|
08-Feb-2018 |
bouyer |
Allow kdbpeek() to return failure. If it does, stop the stack trace. Prevents an infinite loop in ddb if something goes wrong.
|
Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.102 |
|
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
branches: 1.101.2; sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
branches: 1.93.2; Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|
#
1.103 |
|
08-Feb-2018 |
bouyer |
Allow kdbpeek() to return failure. If it does, stop the stack trace. Prevents an infinite loop in ddb if something goes wrong.
|
Revision tags: tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.102 |
|
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
branches: 1.101.2; sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
branches: 1.93.2; Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|
Revision tags: prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
#
1.102 |
|
16-Mar-2017 |
chs |
allow pcu_save() and pcu_discard() to be called on other threads, ptrace needs to use it that way.
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
branches: 1.101.2; sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
#
1.101 |
|
13-Oct-2016 |
macallan |
sprinkle #ifndef __ASSEMBLER__ to make this file usable from .S - mostly for macros like MIPS3_PLUS
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
#
1.100 |
|
11-Jul-2016 |
matt |
branches: 1.100.2; Change MIPS to use the common pmap code. Switch to 8KB pages on CPUs with a R4K MMU. Simplify cache code. Merge in most of changes from matt-mips64 branch
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.99 |
|
09-Jun-2015 |
matt |
Fix mips_fixup_zero_relative to have a third argument (ignored). When reading COP0 EBASE, verify that the fixed bits have the right value.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.98 |
|
01-Jun-2015 |
matt |
Rework cavium support in preparation for MULTIPROCESSOR support
|
#
1.97 |
|
02-May-2015 |
matt |
mips_{l,s}d_a64 only valid for !O32
|
#
1.96 |
|
01-May-2015 |
christos |
change #error to KASSERT
|
#
1.95 |
|
29-Apr-2015 |
hikaru |
Initial import of Cavium Octeon and Octeon Plus SoC and specifically Ubiquiti Networks EdgeRouter LITE support. Currently the ethernet and uart are worked. This support was contributed by Internet Initiative Japan Inc.
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
#
1.94 |
|
22-Nov-2014 |
macallan |
branches: 1.94.2; deal with Ingenic XBurst CPUs
|
Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6 tls-maxphys-base jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3
|
#
1.93 |
|
19-Feb-2012 |
rmind |
Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.92 |
|
17-Aug-2011 |
matt |
branches: 1.92.2; 1.92.6; Redo mips_fixup so that it can handle indirect loads and deal with loongson2 extra instructions.
|
#
1.91 |
|
01-Jul-2011 |
dyoung |
Don't #include "opt_cputype.h" unless _KERNEL_OPT is #defined.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.90 |
|
29-Apr-2011 |
matt |
ras atomicvec is no more.
|
#
1.89 |
|
14-Apr-2011 |
matt |
Fix printing of watch{lo,hi} and make mipsNN_watchlo_* use intptr_t so that sign extention happens.
|
#
1.88 |
|
14-Apr-2011 |
cliff |
- add lsw_cpu_run function pointer to struct locoresw
|
#
1.87 |
|
12-Apr-2011 |
matt |
Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write}
|
#
1.86 |
|
06-Apr-2011 |
matt |
Add a tiny bit of whitespace.
|
#
1.85 |
|
15-Mar-2011 |
matt |
Add separate support for MIPS32R2 and MIPS64R2. Use EHB/SSNOP and jr.hb ra as appropriate (COP0_SYNC now uses them). Add support for COP_0_HWRENA and COP_0_USERLOCAL (use by rdhwr $3,$29 instruction for TLS support). Add mips3+ reserved instruction handler to emulate rdhwr is many fewer instructions.
|
Revision tags: bouyer-quota2-nbase
|
#
1.84 |
|
03-Mar-2011 |
matt |
Change MIPS_CP0FL_CONFIG* Add MIPS_CP0FL_HWRENA and USERLOCAL
|
#
1.83 |
|
20-Feb-2011 |
matt |
Major merge forward from matt-nb5-mips64. New fixup code. New common SPL code. New common interrupt code. Move related variables into structures. Cleanup locore (move MD variable into it). Kill StudlyCaps Use PCU for FPU
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-base
|
#
1.82 |
|
26-Jan-2011 |
pooka |
Add support for the Extensible MIPS ("eMIPS") platform. The NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
|
Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9
|
#
1.81 |
|
27-Feb-2010 |
snj |
branches: 1.81.2; 1.81.4; 1.81.6; Fix a couple old typos in comments.
|
Revision tags: uebayasi-xip-base
|
#
1.80 |
|
14-Dec-2009 |
matt |
branches: 1.80.2; Merge from matt-nb5-mips64 Merge mips-specific arch files.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5
|
#
1.79 |
|
30-May-2009 |
martin |
Do not use the same trampoline for cpu_lwp_fork and cpu_setfunc - only the former needs to call lwp_startup().
|
Revision tags: yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase mjf-devfs2-base nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.78 |
|
17-Oct-2007 |
garbled |
branches: 1.78.20; 1.78.30; 1.78.36; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.77 |
|
17-Jun-2007 |
tsutsui |
branches: 1.77.10; Move declaretions of _spl*() and _{clr,set}softintr() functions (which are in mips/locore.S) into <mips/locore.h> from various MD files.
|
#
1.76 |
|
17-May-2007 |
yamt |
merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:
idle lwp, and some changes depending on it.
1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
|
Revision tags: yamt-idlelwp-base8 thorpej-atomic-base
|
#
1.75 |
|
04-Mar-2007 |
christos |
branches: 1.75.2; 1.75.4; 1.75.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.74 |
|
16-Feb-2006 |
perry |
branches: 1.74.20; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.73 |
|
24-Dec-2005 |
perry |
branches: 1.73.2; 1.73.4; 1.73.6; __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
#
1.72 |
|
11-Dec-2005 |
christos |
merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
|
#
1.71 |
|
05-Nov-2005 |
tsutsui |
Add MI mips3 wired map functions based on patch in port-mips/31915 from Garrett D'Amore of Tadpole Computer Inc. Please refer discussion filed in the PR for details.
|
Revision tags: yamt-vop-base3
|
#
1.70 |
|
30-Oct-2005 |
tsutsui |
Use #define<space> for consistency.
|
Revision tags: yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
|
#
1.69 |
|
08-Sep-2005 |
tsutsui |
branches: 1.69.2; Add mips3_cp0_pg_mask_write() to initialize pagemask register.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
#
1.68 |
|
13-Feb-2004 |
wiz |
branches: 1.68.6; 1.68.14; 1.68.16; Uppercase CPU, plural is CPUs.
|
#
1.67 |
|
29-Oct-2003 |
simonb |
Add some more MIPS vendor IDs.
|
#
1.66 |
|
05-Oct-2003 |
tsutsui |
No need to include opt_mips_cache.h here.
|
Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
|
#
1.65 |
|
04-Nov-2002 |
thorpej |
branches: 1.65.6; Use named indices for RA, SR, MULLO, MULHI, and EPC in the trapframe.
|
#
1.64 |
|
04-Nov-2002 |
thorpej |
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...)
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.63 |
|
03-Jun-2002 |
simonb |
Add prototypes for the 64-bit pagezero functions. Bracket some function prototypes with #ifdef/#endif.
|
#
1.62 |
|
01-Jun-2002 |
simonb |
Use CPU_MIPS_USE_WAIT and CPU_MIPS_NO_WAIT in the CPU table, and use the generic name "mips_wait_idle" for the old function that had both rm52xx_idle and mipsNN_idle entry points.
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.61 |
|
13-May-2002 |
simonb |
branches: 1.61.2; Add a comment after an #endif to match up with an #ifdef.
|
Revision tags: eeh-devprop-base
|
#
1.60 |
|
11-Mar-2002 |
uch |
make this compile and work with MIPS3_5900.
|
Revision tags: newlock-base
|
#
1.59 |
|
05-Mar-2002 |
simonb |
Add support for MIPS32 and MIPS64 architectures: - Add mips32 and mips64 locore function prototypes. - Add mips3_lw_a64() and mips3_sw_a64() for access data at any 64bit address (from Broadcom Corp). - Add Broadcom and Sandcraft CPU company ids.
|
Revision tags: ifpoll-base
|
#
1.58 |
|
14-Nov-2001 |
thorpej |
branches: 1.58.2; Merge the thorpej-mips-cache branch onto the trunk. This is an overhaul of how caches are handled for NetBSD's MIPS ports.
|
Revision tags: thorpej-mips-cache-base
|
#
1.57 |
|
16-Oct-2001 |
uch |
branches: 1.57.2; R5900 support. COP0_SYNC In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p. if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing. IPL_ICU_MASK mask interrupt directly ICU instead of SR.IM. I've added this feature to support software interrupt for R5900. and this option may be useful for platform which has cascaded ICU.
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.56 |
|
18-Aug-2001 |
simonb |
Reorder some function prototypes more logically.
|
#
1.55 |
|
15-Aug-2001 |
simonb |
Add Alchemy and SiByte company IDs (from oss.sgi.com).
|
#
1.54 |
|
15-Aug-2001 |
simonb |
Remove parameter names from function prototypes.
|
#
1.53 |
|
11-Jun-2001 |
thorpej |
branches: 1.53.2; 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.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.52 |
|
31-Oct-2000 |
jeffs |
branches: 1.52.2; Add mips_pagecopy/zero assembly loops for use by pmap_copy/zero_page*() to allow the almost-64-bit compilation use ld/sd.
|
#
1.51 |
|
31-Oct-2000 |
jeffs |
Add mips_indexof() macro to make code for checking the cache index easier to read.
|
#
1.50 |
|
09-Oct-2000 |
nisimura |
mips1_ConfigCache() has gone.
|
#
1.49 |
|
05-Oct-2000 |
cgd |
clean up and consistency for CP0 Count, Compare, Wired, and Config access function names and prototypes.
|
#
1.48 |
|
05-Oct-2000 |
cgd |
nuke mips3_clearBEV(). There's really no point in coding a special-purpose assembly routine for things like this.
|
#
1.47 |
|
05-Oct-2000 |
cgd |
tweak cpu_arch. Eliminate all direct checks of it (making them use the macro CPUISMIPS3 -- which is badly misnamed), and set it from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
|
#
1.46 |
|
04-Oct-2000 |
cgd |
rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype for mips_read_statusreg (which was apparently never implemented). Provide prototypes and implementations for mips_cp0_cause_write, mips_cp0_status_read, and mips_cp0_status_write. (Writing can, of course, be quite dangerous.)
|
#
1.45 |
|
03-Oct-2000 |
cgd |
add some additional info re: MIPS32 PRID encoding, derived from the ``MIPS32 4K Processor Core Family Software User's Manual Revision 01.07 June 19, 2000", available on the web from: http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
|
#
1.44 |
|
02-Oct-2000 |
cgd |
provide mips3_ld() and mips3_sd(), functions which provide safe wrappers for mips3 (and later) 'ld' and 'sd' instructions. These currently only are properly implemented for the _MIPS_BSD_API_LP32 and _MIPS_BSD_API_LP32_64CLEAN 'API's. They're pretty messy, but when you need them, you really need them.
|
#
1.43 |
|
16-Sep-2000 |
nisimura |
Introduce new MIPS1 direct mapped cache capacity detection logics.
|
#
1.42 |
|
16-Sep-2000 |
chuck |
IDT32364's Config register uses a different base for IC/DC (instruction and data cache sizes). R4000 uses 2^(12+IC) and 2^(12+DC). IDT32364 uses 2^(9+IC) and 2^(9+DC).
abstract around the problem by making the base a parameter to the MIPS3_CONFIG_CACHE_SIZE macro. we pass the base down from mips_vector_init to mips3_vector_init and to mips3_ConfigCache (where it is used).
XXX: someone with an MIPS3_4100 should switch to this and get rid of the ugly ifdefs in cpuregs.h
|
#
1.41 |
|
13-Sep-2000 |
chuck |
kill mips3_write_xcontext_upper
|
#
1.40 |
|
27-Jul-2000 |
cgd |
convert PRID handling to use macros on an int, not bit-fields. there's no reason to use bit-fields, and they just complexity to the header.
|
#
1.39 |
|
20-Jul-2000 |
jeffs |
Make pmap_prefer() use a global setting based on cache size instead of assuming 64KB. This allows best fit and will support bigger caches.
|
#
1.38 |
|
29-Jun-2000 |
cgd |
un-__P, clean up spacing a little bit, put fwd struct decl(s) near top rather than embedded. no functional changes.
|
#
1.37 |
|
26-Jun-2000 |
nisimura |
Abandon {mips1,mips3}_TBRPL()s which have little gain. They were expected to be better than MachTLBUpdate(). After all, TLBUpdate() is rather harmful and should be replaced with TBIS().
|
Revision tags: netbsd-1-5-base
|
#
1.36 |
|
20-Jun-2000 |
soda |
branches: 1.36.2; 3rd argument of TBRPL() is not paddr_t but PTE. XXX - mips3_TBRPL seems to be never called.
|
#
1.35 |
|
20-Jun-2000 |
soren |
Add mips3_write_config().
|
#
1.34 |
|
06-Jun-2000 |
soren |
Rename RM5200 cache ops to mips3_*_2way in anticipation of using them for other CPUs with 2-way set associative L1 caches as well.
|
Revision tags: minoura-xpg4dl-base
|
#
1.33 |
|
23-May-2000 |
soren |
branches: 1.33.2; MachForceCacheUpdate and cacheflush_bug have never been used in NetBSD, so remove references them, and do a little other cleanup.
|
#
1.32 |
|
21-May-2000 |
soren |
Include opt_cputype.h.
|
#
1.31 |
|
10-May-2000 |
nisimura |
Have mips_locoresw[] of 3 entry pointer array for different implementation of locore routines between MIPS1 and MIPS3. It's independent from mips_locore_jumpvec_t which is for cache/TLB manipulating routines peculiar to processor designs. mips_locore_jumpvec_t will be replaced with "processor closures" encapsulating implementation parameters (cpuinfo) and pointers to conventaion routines (cpuops), eventually.
|
#
1.30 |
|
12-Apr-2000 |
nisimura |
- Implement mips3_TBIAP(). - Remove obsoluted routines in locore_mips3.S - addiu -> addu, andi -> and, ori -> or.
|
#
1.29 |
|
28-Mar-2000 |
simonb |
Don't `extern' function declarations. While we're there, remove trailing blank lines and white space.
|
#
1.28 |
|
27-Mar-2000 |
nisimura |
Have TBIA/TBIAP an argument refering to a global variable instead of a compile time constant.
|
#
1.27 |
|
27-Mar-2000 |
nisimura |
- Rename some of TLB ops to have handy abbrivations hired from VAX and ALPHA; mips1_TBIA, mips1_TBIAP, mips1_TBIS. - Make sure TBIA and TBIAP ops to have an argument for the size of TLB which varies across even for MIPS1 implementations. - Nuke the unused cpu_isa field from processor personality list.
- XXX XXX XXX it's less-than-optimal and likely a mistake to have TLBUpdate(). It's costy to try to invalidate a single TLB entry whenver a certain PTE is going to be modified by traversing the entire TLB looking for the modified PTE because the PTE in question is not in TLB in most cases. ASID bump could do the invalidation smartly. Solution is planned for now.
|
#
1.26 |
|
23-Mar-2000 |
soren |
Make MIPS1+MIPS3 compile again.
|
#
1.25 |
|
19-Mar-2000 |
soren |
Updated RM5231 cache code from Jeff Smith and Ethan Solomita at Geocast. Many thanks.
|
Revision tags: chs-ubc2-newbase
|
#
1.24 |
|
28-Jan-2000 |
takemura |
CPU specific idle hook and VR idle routine.
|
#
1.23 |
|
09-Jan-2000 |
simonb |
Prototype stacktrace() and logstacktrace().
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base fvdl-softdep-base
|
#
1.22 |
|
12-Nov-1999 |
nisimura |
Make sure wbflush symbol treated as a C function call.
|
Revision tags: comdex-fall-1999-base
|
#
1.21 |
|
25-Sep-1999 |
shin |
branches: 1.21.2; 1.21.4; 1.21.8; Changes for NetBSD/hpcmips.
Support VR4100. Support 16KB page. Support CPU without FPU.
Fix virtual alias problem(physio() case).
[new options]
options MIPS3_4100 /* VR4100 core */ options MIPS_16K_PAGE /* enable kernel support for 16k pages */ options SOFTFLOAT /* No FPU; avoid touching FPU registers */
|
Revision tags: chs-ubc2-base
|
#
1.20 |
|
24-Apr-1999 |
simonb |
Nuke register and remove trailling white space.
|
Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base
|
#
1.19 |
|
27-Feb-1999 |
jonathan |
branches: 1.19.4; Define C structures (struct kernframe, struct trapframe) for kernel-to-user trapframe. Use C structs in genassym.cf.
|
#
1.18 |
|
15-Jan-1999 |
castor |
* Add prototype for mips1_clean_tlb * Add the correct version of locore_mips1.S [ See previous revision for description of changes ] * Use defopt'ed MIPS3_L2CACHE_ABSENT in mips_machdep.c and pmap.c to avoid generating extraneous code. * GC pmap_set_referenced in pmap.c
|
#
1.17 |
|
15-Jan-1999 |
castor |
Protect defopt against -D_LKM
|
#
1.16 |
|
14-Jan-1999 |
castor |
* Create mips_reg_t data type to allow register size to be decoupled from long or int or long long. Define macros in asm.h to facilitate choosing these on a port by port basis.
* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size to be calculated at system build time.
* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae for the architecture. For 64-bit oriented systems set the Status Register to allow 64-bit instructions.
* Remove UADDR related macros because kernel U structure is now mapped normally. * Separate cpu.h into cpu.h and cpuarch.h to keep things neat. * Add support for QED 52xx processors
|
#
1.15 |
|
06-Jan-1999 |
nisimura |
- Complete vm_offset_t purge for mips processor. - bzero() -> memset() and bcopy() -> memcpy(). - Garbage collection in trap.c and db_interface.c.
|
Revision tags: kenh-if-detach-base chs-ubc-base nisimura-pmax-wscons-base
|
#
1.14 |
|
11-Sep-1998 |
jonathan |
branches: 1.14.2; Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>. Adds (most) support for ARC platform to port-independent mips code.
Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by comparison to the OpenBSD 2.1 codebase of Soda's ARC port.
Open issues: * Still no support for r4600 or mipsIV CPUs with two-way L1 cache. Code derived from Per Fogelstrom's OpenBSD source doesn't work on mips3 pmaxes with L2 cache.
* Still some port-specific #ifdefs, for interrupt enable and pmax L2 cache-size. Needs more thought, but overlaps with work-in-progress by Tohru and Tsubai on spl()s and related stuff.
|
Revision tags: eeh-paddr_t-base
|
#
1.13 |
|
23-Apr-1998 |
jonathan |
Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback vector with model-specific code. Used on DEC r2000a machines with writebuffers which indicate writebuffer drain via cp0 usability bit.
|
Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
|
#
1.12 |
|
22-Jun-1997 |
jonathan |
Fix typo mips3_mips_switch_exit.
|
#
1.11 |
|
22-Jun-1997 |
jonathan |
Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h: rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx. Add compile-time MIPS3-only, compile-time MIPS1-only, and runtime (both) definitions for number of TLB ASIDs (tlb pids) and shift count to extract a TLB pid.
* locore.h: Delete unused vector slot for indexed TLB writes. mips1 and mips3 TLBs are different enough that we have to break them out at the caller anyway.
* Add compile-time MIPS3-only andcompile-time MIPS1-only macros to call locore functions directly by name. Use the existing method table only if
* mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c: Use MIPS3_ or MIPS1_ specific names for TLB pids in mips3 and mips1 specific code paths (e.g., creating the kernel stack for process 0).
Add `options MIPS3' to pmax/conf/GENERIC.
|
#
1.10 |
|
21-Jun-1997 |
mhitch |
MachHitFlushDCache is gone.
|
#
1.9 |
|
19-Jun-1997 |
mhitch |
More merged mips1/mips3 support: Remove cpu-specific routines from locore.S and add them to locore_r2000.S and locore_r4000.S. Add entries in locore jump vector table for switch_exit() and the cpu_switch() context resume. Add offsets into the jump vector to genassym.cf for use in locore.S.
|
#
1.8 |
|
16-Jun-1997 |
jonathan |
Changes for configuring both MIPS1 and MIPS3, from a merge of similar design and code by Jason Thorpe and Jonathan Stone.
NOTE: the kernel-stack-switching code and cacheflush() calls in locore.S still use #ifdef MIPS3 and need more work.
mips/include/cpu.h: Add CPUISMIPS3 for run-time tests of what CPU architecture level we're running on.
mips/include/locore.h: Add declarations of locore cache-size variables for ref/def toolchain.
mips/include/mips1_pte.h: mips1 TLB bit definitions.
mips/include/mips3_pte.h: mips3 TLB bit definitions.
mips/include/pte.h: define accesor macros for TLB bits (e.g., mips_pg_m_bit(), that expand to CPU constants if only one CPU arch is configured, or to inline functions if both MIPS1 and MIPS3 are configured.
mips/mips/locore_r2000.S: Use MIPS1_PG_xxx constants inside mips1-specific code.
mips/mips/locore_r4000.S: Use MIPS3_PG_xxx constants inside mips3-specific code.
mips/mips/locore.S: Use MIPS1_PG_xxx constants inside mips3-specific code. Use MIPS1_PG_xxx constants inside mips1-specific code. (Needs more work!)
mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c: Use MIPS3_PG_xxx constants inside mips3-specific functions, and MIPS1_PG_XXX inside mips1-specific code. Otherwise, use mips_pg_XXX_bit() macros where they apply, and use "if (CPUISMIPS3) { ... } else {... }" where they don't.
mips/mips/mips_machdep.c: Import Michael Hitch's fixes from the pmax locore-init code into mips_vector_init().
pmax/pmax/machdep.c: Use generic mips_vector_init() locore vector-init function.
|
#
1.7 |
|
16-Jun-1997 |
jonathan |
Garbage-collect redundant declarations: mips/include/locore.h: Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here. mips/include/cpu.h: remove cpu_prid definition. pmax/pmax/machdep.c: remove local protoypes of HitFlushDCache() functions. mips/mips/vm_machdep.c, mips/mips/vm_machdep.c:: remove local protoypes of HitFlushDCache() functions.
|
#
1.6 |
|
16-Jun-1997 |
jonathan |
Yet more merging: * Move declaration of locore communcation variables (CPU family, cache sizes, etc) to mips/include/locore.h. Delete from pmax/include/cpu.h and older versions from pica/include/cpu.h.
* Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu. * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
|
#
1.5 |
|
15-Jun-1997 |
mhitch |
DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from machine/locore.h. From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through proc_trampoline() [also cpu-dependent].
|
#
1.4 |
|
25-May-1997 |
jonathan |
lint: prototype blkclr __P((caddr_t val, int size)). Used in pmap code.
|
Revision tags: is-newarp-before-merge is-newarp-base
|
#
1.3 |
|
13-Oct-1996 |
jonathan |
Rename mips CPU-family locore prefixes for case-consistency: mips_r2000_, mips_R2000_ -> mips1_ mips_r4000_, mips_R4000_ -> mips3_ (which are also, for mnemonic reasons, consistent with gcc flag usage, rather than using mipsI_ and mipsIII_).
|
Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
|
#
1.2 |
|
20-May-1996 |
jonathan |
* Move the declarations of mips locore functions from the pmax tree to the mips tree. * Add declarations of functions used by vm_machdep.c. * Add declarations of functions printed by name in stack tracebacks. * Add declarations of functions used by the model-independnet mips machdep.c code.
|
#
1.1 |
|
19-May-1996 |
jonathan |
Define the conventional pmax locore entry-point names to be calls through an vector (struct) of function pointers. Add prototype declarations for each vector entry. Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore versions of the relevant functions.
|