#
1.168 |
|
20-Apr-2023 |
skrll |
Provide a shared pmap_devmap implementation and convert all pmap_devmap arrays to use DEVMAP_ENTRY{,_END}
|
Revision tags: netbsd-10-base
|
#
1.167 |
|
28-Oct-2022 |
skrll |
MI PMAP EFI_RUNTIME support
|
Revision tags: bouyer-sunxi-drm-base
|
#
1.166 |
|
02-Apr-2022 |
skrll |
Update to support EFI runtime outside the kernel virtual address space by creating an EFI RT pmap that can be activated / deactivated when required.
Adds support for EFI RT to ARM_MMU_EXTENDED (ASID) 32-bit Arm machines.
On Arm64 the usage of pmapboot_enter is reduced and the mappings are created much later in the boot process -- now in cpu_startup_hook. Backward compatiblity for KVA mapped RT from old bootaa64.efi is maintained.
Adding support to other platforms should be easier as a result.
|
Revision tags: thorpej-i2c-spi-conf2-base
|
#
1.165 |
|
06-Aug-2021 |
jmcneill |
Arm: Add support for SMC Calling Convention
Arm DEN0028 defines a calling mechanism used with Secure Monitor Call (SMC) and Hypervisor Call (HVC) instructions. To discover SMCCC, we must:
1) Find the PSCI conduit (either via ACPI FADT, or Device Tree) 2) Use PSCI_VERSION to determine whether PSCI_FEATURES is supported 3) Call PSCI_FEATURES with SMCCC_VERSION to determine the implementation version.
|
Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.164 |
|
21-Oct-2020 |
christos |
make process_machdep.c included always since it provides register i/o used by sys_process_getlwpstatus.c which is always included.
|
#
1.163 |
|
20-Oct-2020 |
christos |
harmonize process_machdep.c inclusion.
|
#
1.162 |
|
29-Sep-2020 |
jmcneill |
Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime detection instead of ifdefs where required.
|
#
1.161 |
|
02-Aug-2020 |
maxv |
Add support for Privileged Access Never (ARMv8.1-PAN).
PAN provides the same functionality as SMAP on x86: it forbids kernel access to userland pages when PSTATE.PAN=1, and allows such accesses when PSTATE.PAN=0.
We clear SCTLR_SPAN, to guarantee that PAN=1 each time the kernel is entered. We catch PAN faults and panic right away without further processing. In copyin, copyout, etc, we temporarily authorize access to userland pages.
PAN is a very useful exploit mitigation. Reviewed by ryo@, thanks. Tested on Qemu. Enabled by default.
|
#
1.160 |
|
27-Jul-2020 |
riastradh |
Enable ChaCha NEON code on armv7 too.
The 4-blocks-at-a-time assembly helper is disabled for now; adapting it to armv7 is going to be a little annoying with only 16 128-bit vector registers.
(Should also do a fifth block in the integer registers for 320 bytes at a time.)
|
#
1.159 |
|
27-Jul-2020 |
riastradh |
Fix outdated comment.
|
#
1.158 |
|
29-Jun-2020 |
riastradh |
New permutation-based AES implementation using ARM NEON.
Also derived from Mike Hamburg's public-domain vpaes code.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
#
1.157 |
|
18-Apr-2020 |
skrll |
PMAP_DEBUG has been deleted on arm
|
#
1.156 |
|
13-Apr-2020 |
maxv |
Add KASAN-DMA support on aarch64, same as amd64. Discussed with skrll@.
|
#
1.155 |
|
13-Apr-2020 |
maxv |
Add support for Branch Target Identification (BTI).
On the executable pages that have the GP (Guarded Page) bit, the semantic of the "br" and "blr" instructions is changed: the CPU expects the first instruction of the jump/call target to be "bti", and faults if it isn't.
We add the GP bit on the kernel .text pages (and incidentally the .rodata pages, but we don't care). The compiler adds a "bti c" instruction at the beginning of each C function. We modify the ENTRY() macros to manually add "bti c" in the asm functions.
cpuswitch.S needs a specific change: with "br x27" the CPU expects "bti j", which is bad because the functions begin with "bti c"; switch to "br x16", for the CPU to accept "bti c".
BTI helps defend against JOP/COP. Tested on Qemu.
|
#
1.154 |
|
12-Apr-2020 |
maxv |
Add support for Pointer Authentication (PAC).
We use the "pac-ret" option, to sign the return instruction pointer on function entry, and authenticate it on function exit. This acts as a mitigation against ROP.
The authentication uses a per-lwp (secret) I-A key stored in the 128bit APIAKey register and part of the lwp context. During lwp creation, the kernel generates a random key, and during context switches, it installs the key of the target lwp on the CPU.
Userland cannot read the APIAKey register directly. However, it can sign its pointers with it, because the register is architecturally shared between userland and the kernel. Although part of the CPU design, it is a bit of an undesired behavior, because it allows to forge valid kernel pointers from userland. To avoid that, we don't share the key with userland, and rather switch it in EL0<->EL1 transitions. This means that when userland executes, a different key is loaded in APIAKey than the one the kernel uses. For now the userland key is a fixed 128bit zero value.
The DDB stack unwinder is changed to strip the authentication code from the pointers in lr.
Two problems are known:
* Currently the idlelwps' keys are not really secret. This is because the RNG is not yet available when we spawn these lwps. Not overly important, but would be nice to fix with UEFI RNG. * The key switching in EL0<->EL1 transitions is not the most optimized code on the planet. Instead of checking aarch64_pac_enabled, it would be better to hot-patch the code at boot time, but there currently is no hot-patch support on aarch64.
Tested on Qemu.
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.153 |
|
15-Feb-2020 |
skrll |
branches: 1.153.4; Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
|
Revision tags: ad-namecache-base2
|
#
1.152 |
|
21-Jan-2020 |
skrll |
Sort a bit
|
#
1.151 |
|
21-Jan-2020 |
skrll |
Trailing whitespace
|
Revision tags: ad-namecache-base1
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
branches: 1.149.2; Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.167 |
|
28-Oct-2022 |
skrll |
MI PMAP EFI_RUNTIME support
|
Revision tags: bouyer-sunxi-drm-base
|
#
1.166 |
|
02-Apr-2022 |
skrll |
Update to support EFI runtime outside the kernel virtual address space by creating an EFI RT pmap that can be activated / deactivated when required.
Adds support for EFI RT to ARM_MMU_EXTENDED (ASID) 32-bit Arm machines.
On Arm64 the usage of pmapboot_enter is reduced and the mappings are created much later in the boot process -- now in cpu_startup_hook. Backward compatiblity for KVA mapped RT from old bootaa64.efi is maintained.
Adding support to other platforms should be easier as a result.
|
Revision tags: thorpej-i2c-spi-conf2-base
|
#
1.165 |
|
06-Aug-2021 |
jmcneill |
Arm: Add support for SMC Calling Convention
Arm DEN0028 defines a calling mechanism used with Secure Monitor Call (SMC) and Hypervisor Call (HVC) instructions. To discover SMCCC, we must:
1) Find the PSCI conduit (either via ACPI FADT, or Device Tree) 2) Use PSCI_VERSION to determine whether PSCI_FEATURES is supported 3) Call PSCI_FEATURES with SMCCC_VERSION to determine the implementation version.
|
Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.164 |
|
21-Oct-2020 |
christos |
make process_machdep.c included always since it provides register i/o used by sys_process_getlwpstatus.c which is always included.
|
#
1.163 |
|
20-Oct-2020 |
christos |
harmonize process_machdep.c inclusion.
|
#
1.162 |
|
29-Sep-2020 |
jmcneill |
Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime detection instead of ifdefs where required.
|
#
1.161 |
|
02-Aug-2020 |
maxv |
Add support for Privileged Access Never (ARMv8.1-PAN).
PAN provides the same functionality as SMAP on x86: it forbids kernel access to userland pages when PSTATE.PAN=1, and allows such accesses when PSTATE.PAN=0.
We clear SCTLR_SPAN, to guarantee that PAN=1 each time the kernel is entered. We catch PAN faults and panic right away without further processing. In copyin, copyout, etc, we temporarily authorize access to userland pages.
PAN is a very useful exploit mitigation. Reviewed by ryo@, thanks. Tested on Qemu. Enabled by default.
|
#
1.160 |
|
27-Jul-2020 |
riastradh |
Enable ChaCha NEON code on armv7 too.
The 4-blocks-at-a-time assembly helper is disabled for now; adapting it to armv7 is going to be a little annoying with only 16 128-bit vector registers.
(Should also do a fifth block in the integer registers for 320 bytes at a time.)
|
#
1.159 |
|
27-Jul-2020 |
riastradh |
Fix outdated comment.
|
#
1.158 |
|
29-Jun-2020 |
riastradh |
New permutation-based AES implementation using ARM NEON.
Also derived from Mike Hamburg's public-domain vpaes code.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
#
1.157 |
|
18-Apr-2020 |
skrll |
PMAP_DEBUG has been deleted on arm
|
#
1.156 |
|
13-Apr-2020 |
maxv |
Add KASAN-DMA support on aarch64, same as amd64. Discussed with skrll@.
|
#
1.155 |
|
13-Apr-2020 |
maxv |
Add support for Branch Target Identification (BTI).
On the executable pages that have the GP (Guarded Page) bit, the semantic of the "br" and "blr" instructions is changed: the CPU expects the first instruction of the jump/call target to be "bti", and faults if it isn't.
We add the GP bit on the kernel .text pages (and incidentally the .rodata pages, but we don't care). The compiler adds a "bti c" instruction at the beginning of each C function. We modify the ENTRY() macros to manually add "bti c" in the asm functions.
cpuswitch.S needs a specific change: with "br x27" the CPU expects "bti j", which is bad because the functions begin with "bti c"; switch to "br x16", for the CPU to accept "bti c".
BTI helps defend against JOP/COP. Tested on Qemu.
|
#
1.154 |
|
12-Apr-2020 |
maxv |
Add support for Pointer Authentication (PAC).
We use the "pac-ret" option, to sign the return instruction pointer on function entry, and authenticate it on function exit. This acts as a mitigation against ROP.
The authentication uses a per-lwp (secret) I-A key stored in the 128bit APIAKey register and part of the lwp context. During lwp creation, the kernel generates a random key, and during context switches, it installs the key of the target lwp on the CPU.
Userland cannot read the APIAKey register directly. However, it can sign its pointers with it, because the register is architecturally shared between userland and the kernel. Although part of the CPU design, it is a bit of an undesired behavior, because it allows to forge valid kernel pointers from userland. To avoid that, we don't share the key with userland, and rather switch it in EL0<->EL1 transitions. This means that when userland executes, a different key is loaded in APIAKey than the one the kernel uses. For now the userland key is a fixed 128bit zero value.
The DDB stack unwinder is changed to strip the authentication code from the pointers in lr.
Two problems are known:
* Currently the idlelwps' keys are not really secret. This is because the RNG is not yet available when we spawn these lwps. Not overly important, but would be nice to fix with UEFI RNG. * The key switching in EL0<->EL1 transitions is not the most optimized code on the planet. Instead of checking aarch64_pac_enabled, it would be better to hot-patch the code at boot time, but there currently is no hot-patch support on aarch64.
Tested on Qemu.
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.153 |
|
15-Feb-2020 |
skrll |
branches: 1.153.4; Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
|
Revision tags: ad-namecache-base2
|
#
1.152 |
|
21-Jan-2020 |
skrll |
Sort a bit
|
#
1.151 |
|
21-Jan-2020 |
skrll |
Trailing whitespace
|
Revision tags: ad-namecache-base1
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
branches: 1.149.2; Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.166 |
|
02-Apr-2022 |
skrll |
Update to support EFI runtime outside the kernel virtual address space by creating an EFI RT pmap that can be activated / deactivated when required.
Adds support for EFI RT to ARM_MMU_EXTENDED (ASID) 32-bit Arm machines.
On Arm64 the usage of pmapboot_enter is reduced and the mappings are created much later in the boot process -- now in cpu_startup_hook. Backward compatiblity for KVA mapped RT from old bootaa64.efi is maintained.
Adding support to other platforms should be easier as a result.
|
Revision tags: thorpej-i2c-spi-conf2-base
|
#
1.165 |
|
06-Aug-2021 |
jmcneill |
Arm: Add support for SMC Calling Convention
Arm DEN0028 defines a calling mechanism used with Secure Monitor Call (SMC) and Hypervisor Call (HVC) instructions. To discover SMCCC, we must:
1) Find the PSCI conduit (either via ACPI FADT, or Device Tree) 2) Use PSCI_VERSION to determine whether PSCI_FEATURES is supported 3) Call PSCI_FEATURES with SMCCC_VERSION to determine the implementation version.
|
Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.164 |
|
21-Oct-2020 |
christos |
make process_machdep.c included always since it provides register i/o used by sys_process_getlwpstatus.c which is always included.
|
#
1.163 |
|
20-Oct-2020 |
christos |
harmonize process_machdep.c inclusion.
|
#
1.162 |
|
29-Sep-2020 |
jmcneill |
Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime detection instead of ifdefs where required.
|
#
1.161 |
|
02-Aug-2020 |
maxv |
Add support for Privileged Access Never (ARMv8.1-PAN).
PAN provides the same functionality as SMAP on x86: it forbids kernel access to userland pages when PSTATE.PAN=1, and allows such accesses when PSTATE.PAN=0.
We clear SCTLR_SPAN, to guarantee that PAN=1 each time the kernel is entered. We catch PAN faults and panic right away without further processing. In copyin, copyout, etc, we temporarily authorize access to userland pages.
PAN is a very useful exploit mitigation. Reviewed by ryo@, thanks. Tested on Qemu. Enabled by default.
|
#
1.160 |
|
27-Jul-2020 |
riastradh |
Enable ChaCha NEON code on armv7 too.
The 4-blocks-at-a-time assembly helper is disabled for now; adapting it to armv7 is going to be a little annoying with only 16 128-bit vector registers.
(Should also do a fifth block in the integer registers for 320 bytes at a time.)
|
#
1.159 |
|
27-Jul-2020 |
riastradh |
Fix outdated comment.
|
#
1.158 |
|
29-Jun-2020 |
riastradh |
New permutation-based AES implementation using ARM NEON.
Also derived from Mike Hamburg's public-domain vpaes code.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
#
1.157 |
|
18-Apr-2020 |
skrll |
PMAP_DEBUG has been deleted on arm
|
#
1.156 |
|
13-Apr-2020 |
maxv |
Add KASAN-DMA support on aarch64, same as amd64. Discussed with skrll@.
|
#
1.155 |
|
13-Apr-2020 |
maxv |
Add support for Branch Target Identification (BTI).
On the executable pages that have the GP (Guarded Page) bit, the semantic of the "br" and "blr" instructions is changed: the CPU expects the first instruction of the jump/call target to be "bti", and faults if it isn't.
We add the GP bit on the kernel .text pages (and incidentally the .rodata pages, but we don't care). The compiler adds a "bti c" instruction at the beginning of each C function. We modify the ENTRY() macros to manually add "bti c" in the asm functions.
cpuswitch.S needs a specific change: with "br x27" the CPU expects "bti j", which is bad because the functions begin with "bti c"; switch to "br x16", for the CPU to accept "bti c".
BTI helps defend against JOP/COP. Tested on Qemu.
|
#
1.154 |
|
12-Apr-2020 |
maxv |
Add support for Pointer Authentication (PAC).
We use the "pac-ret" option, to sign the return instruction pointer on function entry, and authenticate it on function exit. This acts as a mitigation against ROP.
The authentication uses a per-lwp (secret) I-A key stored in the 128bit APIAKey register and part of the lwp context. During lwp creation, the kernel generates a random key, and during context switches, it installs the key of the target lwp on the CPU.
Userland cannot read the APIAKey register directly. However, it can sign its pointers with it, because the register is architecturally shared between userland and the kernel. Although part of the CPU design, it is a bit of an undesired behavior, because it allows to forge valid kernel pointers from userland. To avoid that, we don't share the key with userland, and rather switch it in EL0<->EL1 transitions. This means that when userland executes, a different key is loaded in APIAKey than the one the kernel uses. For now the userland key is a fixed 128bit zero value.
The DDB stack unwinder is changed to strip the authentication code from the pointers in lr.
Two problems are known:
* Currently the idlelwps' keys are not really secret. This is because the RNG is not yet available when we spawn these lwps. Not overly important, but would be nice to fix with UEFI RNG. * The key switching in EL0<->EL1 transitions is not the most optimized code on the planet. Instead of checking aarch64_pac_enabled, it would be better to hot-patch the code at boot time, but there currently is no hot-patch support on aarch64.
Tested on Qemu.
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.153 |
|
15-Feb-2020 |
skrll |
branches: 1.153.4; Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
|
Revision tags: ad-namecache-base2
|
#
1.152 |
|
21-Jan-2020 |
skrll |
Sort a bit
|
#
1.151 |
|
21-Jan-2020 |
skrll |
Trailing whitespace
|
Revision tags: ad-namecache-base1
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
branches: 1.149.2; Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.165 |
|
06-Aug-2021 |
jmcneill |
Arm: Add support for SMC Calling Convention
Arm DEN0028 defines a calling mechanism used with Secure Monitor Call (SMC) and Hypervisor Call (HVC) instructions. To discover SMCCC, we must:
1) Find the PSCI conduit (either via ACPI FADT, or Device Tree) 2) Use PSCI_VERSION to determine whether PSCI_FEATURES is supported 3) Call PSCI_FEATURES with SMCCC_VERSION to determine the implementation version.
|
Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
#
1.164 |
|
21-Oct-2020 |
christos |
make process_machdep.c included always since it provides register i/o used by sys_process_getlwpstatus.c which is always included.
|
#
1.163 |
|
20-Oct-2020 |
christos |
harmonize process_machdep.c inclusion.
|
#
1.162 |
|
29-Sep-2020 |
jmcneill |
Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime detection instead of ifdefs where required.
|
#
1.161 |
|
02-Aug-2020 |
maxv |
Add support for Privileged Access Never (ARMv8.1-PAN).
PAN provides the same functionality as SMAP on x86: it forbids kernel access to userland pages when PSTATE.PAN=1, and allows such accesses when PSTATE.PAN=0.
We clear SCTLR_SPAN, to guarantee that PAN=1 each time the kernel is entered. We catch PAN faults and panic right away without further processing. In copyin, copyout, etc, we temporarily authorize access to userland pages.
PAN is a very useful exploit mitigation. Reviewed by ryo@, thanks. Tested on Qemu. Enabled by default.
|
#
1.160 |
|
27-Jul-2020 |
riastradh |
Enable ChaCha NEON code on armv7 too.
The 4-blocks-at-a-time assembly helper is disabled for now; adapting it to armv7 is going to be a little annoying with only 16 128-bit vector registers.
(Should also do a fifth block in the integer registers for 320 bytes at a time.)
|
#
1.159 |
|
27-Jul-2020 |
riastradh |
Fix outdated comment.
|
#
1.158 |
|
29-Jun-2020 |
riastradh |
New permutation-based AES implementation using ARM NEON.
Also derived from Mike Hamburg's public-domain vpaes code.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
#
1.157 |
|
18-Apr-2020 |
skrll |
PMAP_DEBUG has been deleted on arm
|
#
1.156 |
|
13-Apr-2020 |
maxv |
Add KASAN-DMA support on aarch64, same as amd64. Discussed with skrll@.
|
#
1.155 |
|
13-Apr-2020 |
maxv |
Add support for Branch Target Identification (BTI).
On the executable pages that have the GP (Guarded Page) bit, the semantic of the "br" and "blr" instructions is changed: the CPU expects the first instruction of the jump/call target to be "bti", and faults if it isn't.
We add the GP bit on the kernel .text pages (and incidentally the .rodata pages, but we don't care). The compiler adds a "bti c" instruction at the beginning of each C function. We modify the ENTRY() macros to manually add "bti c" in the asm functions.
cpuswitch.S needs a specific change: with "br x27" the CPU expects "bti j", which is bad because the functions begin with "bti c"; switch to "br x16", for the CPU to accept "bti c".
BTI helps defend against JOP/COP. Tested on Qemu.
|
#
1.154 |
|
12-Apr-2020 |
maxv |
Add support for Pointer Authentication (PAC).
We use the "pac-ret" option, to sign the return instruction pointer on function entry, and authenticate it on function exit. This acts as a mitigation against ROP.
The authentication uses a per-lwp (secret) I-A key stored in the 128bit APIAKey register and part of the lwp context. During lwp creation, the kernel generates a random key, and during context switches, it installs the key of the target lwp on the CPU.
Userland cannot read the APIAKey register directly. However, it can sign its pointers with it, because the register is architecturally shared between userland and the kernel. Although part of the CPU design, it is a bit of an undesired behavior, because it allows to forge valid kernel pointers from userland. To avoid that, we don't share the key with userland, and rather switch it in EL0<->EL1 transitions. This means that when userland executes, a different key is loaded in APIAKey than the one the kernel uses. For now the userland key is a fixed 128bit zero value.
The DDB stack unwinder is changed to strip the authentication code from the pointers in lr.
Two problems are known:
* Currently the idlelwps' keys are not really secret. This is because the RNG is not yet available when we spawn these lwps. Not overly important, but would be nice to fix with UEFI RNG. * The key switching in EL0<->EL1 transitions is not the most optimized code on the planet. Instead of checking aarch64_pac_enabled, it would be better to hot-patch the code at boot time, but there currently is no hot-patch support on aarch64.
Tested on Qemu.
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.153 |
|
15-Feb-2020 |
skrll |
branches: 1.153.4; Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
|
Revision tags: ad-namecache-base2
|
#
1.152 |
|
21-Jan-2020 |
skrll |
Sort a bit
|
#
1.151 |
|
21-Jan-2020 |
skrll |
Trailing whitespace
|
Revision tags: ad-namecache-base1
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
branches: 1.149.2; Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.164 |
|
21-Oct-2020 |
christos |
make process_machdep.c included always since it provides register i/o used by sys_process_getlwpstatus.c which is always included.
|
#
1.163 |
|
20-Oct-2020 |
christos |
harmonize process_machdep.c inclusion.
|
#
1.162 |
|
29-Sep-2020 |
jmcneill |
Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime detection instead of ifdefs where required.
|
#
1.161 |
|
02-Aug-2020 |
maxv |
Add support for Privileged Access Never (ARMv8.1-PAN).
PAN provides the same functionality as SMAP on x86: it forbids kernel access to userland pages when PSTATE.PAN=1, and allows such accesses when PSTATE.PAN=0.
We clear SCTLR_SPAN, to guarantee that PAN=1 each time the kernel is entered. We catch PAN faults and panic right away without further processing. In copyin, copyout, etc, we temporarily authorize access to userland pages.
PAN is a very useful exploit mitigation. Reviewed by ryo@, thanks. Tested on Qemu. Enabled by default.
|
#
1.160 |
|
27-Jul-2020 |
riastradh |
Enable ChaCha NEON code on armv7 too.
The 4-blocks-at-a-time assembly helper is disabled for now; adapting it to armv7 is going to be a little annoying with only 16 128-bit vector registers.
(Should also do a fifth block in the integer registers for 320 bytes at a time.)
|
#
1.159 |
|
27-Jul-2020 |
riastradh |
Fix outdated comment.
|
#
1.158 |
|
29-Jun-2020 |
riastradh |
New permutation-based AES implementation using ARM NEON.
Also derived from Mike Hamburg's public-domain vpaes code.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
#
1.157 |
|
18-Apr-2020 |
skrll |
PMAP_DEBUG has been deleted on arm
|
#
1.156 |
|
13-Apr-2020 |
maxv |
Add KASAN-DMA support on aarch64, same as amd64. Discussed with skrll@.
|
#
1.155 |
|
13-Apr-2020 |
maxv |
Add support for Branch Target Identification (BTI).
On the executable pages that have the GP (Guarded Page) bit, the semantic of the "br" and "blr" instructions is changed: the CPU expects the first instruction of the jump/call target to be "bti", and faults if it isn't.
We add the GP bit on the kernel .text pages (and incidentally the .rodata pages, but we don't care). The compiler adds a "bti c" instruction at the beginning of each C function. We modify the ENTRY() macros to manually add "bti c" in the asm functions.
cpuswitch.S needs a specific change: with "br x27" the CPU expects "bti j", which is bad because the functions begin with "bti c"; switch to "br x16", for the CPU to accept "bti c".
BTI helps defend against JOP/COP. Tested on Qemu.
|
#
1.154 |
|
12-Apr-2020 |
maxv |
Add support for Pointer Authentication (PAC).
We use the "pac-ret" option, to sign the return instruction pointer on function entry, and authenticate it on function exit. This acts as a mitigation against ROP.
The authentication uses a per-lwp (secret) I-A key stored in the 128bit APIAKey register and part of the lwp context. During lwp creation, the kernel generates a random key, and during context switches, it installs the key of the target lwp on the CPU.
Userland cannot read the APIAKey register directly. However, it can sign its pointers with it, because the register is architecturally shared between userland and the kernel. Although part of the CPU design, it is a bit of an undesired behavior, because it allows to forge valid kernel pointers from userland. To avoid that, we don't share the key with userland, and rather switch it in EL0<->EL1 transitions. This means that when userland executes, a different key is loaded in APIAKey than the one the kernel uses. For now the userland key is a fixed 128bit zero value.
The DDB stack unwinder is changed to strip the authentication code from the pointers in lr.
Two problems are known:
* Currently the idlelwps' keys are not really secret. This is because the RNG is not yet available when we spawn these lwps. Not overly important, but would be nice to fix with UEFI RNG. * The key switching in EL0<->EL1 transitions is not the most optimized code on the planet. Instead of checking aarch64_pac_enabled, it would be better to hot-patch the code at boot time, but there currently is no hot-patch support on aarch64.
Tested on Qemu.
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.153 |
|
15-Feb-2020 |
skrll |
branches: 1.153.4; Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
|
Revision tags: ad-namecache-base2
|
#
1.152 |
|
21-Jan-2020 |
skrll |
Sort a bit
|
#
1.151 |
|
21-Jan-2020 |
skrll |
Trailing whitespace
|
Revision tags: ad-namecache-base1
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
branches: 1.149.2; Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.162 |
|
29-Sep-2020 |
jmcneill |
Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime detection instead of ifdefs where required.
|
#
1.161 |
|
02-Aug-2020 |
maxv |
Add support for Privileged Access Never (ARMv8.1-PAN).
PAN provides the same functionality as SMAP on x86: it forbids kernel access to userland pages when PSTATE.PAN=1, and allows such accesses when PSTATE.PAN=0.
We clear SCTLR_SPAN, to guarantee that PAN=1 each time the kernel is entered. We catch PAN faults and panic right away without further processing. In copyin, copyout, etc, we temporarily authorize access to userland pages.
PAN is a very useful exploit mitigation. Reviewed by ryo@, thanks. Tested on Qemu. Enabled by default.
|
#
1.160 |
|
27-Jul-2020 |
riastradh |
Enable ChaCha NEON code on armv7 too.
The 4-blocks-at-a-time assembly helper is disabled for now; adapting it to armv7 is going to be a little annoying with only 16 128-bit vector registers.
(Should also do a fifth block in the integer registers for 320 bytes at a time.)
|
#
1.159 |
|
27-Jul-2020 |
riastradh |
Fix outdated comment.
|
#
1.158 |
|
29-Jun-2020 |
riastradh |
New permutation-based AES implementation using ARM NEON.
Also derived from Mike Hamburg's public-domain vpaes code.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
#
1.157 |
|
18-Apr-2020 |
skrll |
PMAP_DEBUG has been deleted on arm
|
#
1.156 |
|
13-Apr-2020 |
maxv |
Add KASAN-DMA support on aarch64, same as amd64. Discussed with skrll@.
|
#
1.155 |
|
13-Apr-2020 |
maxv |
Add support for Branch Target Identification (BTI).
On the executable pages that have the GP (Guarded Page) bit, the semantic of the "br" and "blr" instructions is changed: the CPU expects the first instruction of the jump/call target to be "bti", and faults if it isn't.
We add the GP bit on the kernel .text pages (and incidentally the .rodata pages, but we don't care). The compiler adds a "bti c" instruction at the beginning of each C function. We modify the ENTRY() macros to manually add "bti c" in the asm functions.
cpuswitch.S needs a specific change: with "br x27" the CPU expects "bti j", which is bad because the functions begin with "bti c"; switch to "br x16", for the CPU to accept "bti c".
BTI helps defend against JOP/COP. Tested on Qemu.
|
#
1.154 |
|
12-Apr-2020 |
maxv |
Add support for Pointer Authentication (PAC).
We use the "pac-ret" option, to sign the return instruction pointer on function entry, and authenticate it on function exit. This acts as a mitigation against ROP.
The authentication uses a per-lwp (secret) I-A key stored in the 128bit APIAKey register and part of the lwp context. During lwp creation, the kernel generates a random key, and during context switches, it installs the key of the target lwp on the CPU.
Userland cannot read the APIAKey register directly. However, it can sign its pointers with it, because the register is architecturally shared between userland and the kernel. Although part of the CPU design, it is a bit of an undesired behavior, because it allows to forge valid kernel pointers from userland. To avoid that, we don't share the key with userland, and rather switch it in EL0<->EL1 transitions. This means that when userland executes, a different key is loaded in APIAKey than the one the kernel uses. For now the userland key is a fixed 128bit zero value.
The DDB stack unwinder is changed to strip the authentication code from the pointers in lr.
Two problems are known:
* Currently the idlelwps' keys are not really secret. This is because the RNG is not yet available when we spawn these lwps. Not overly important, but would be nice to fix with UEFI RNG. * The key switching in EL0<->EL1 transitions is not the most optimized code on the planet. Instead of checking aarch64_pac_enabled, it would be better to hot-patch the code at boot time, but there currently is no hot-patch support on aarch64.
Tested on Qemu.
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.153 |
|
15-Feb-2020 |
skrll |
branches: 1.153.4; Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
|
Revision tags: ad-namecache-base2
|
#
1.152 |
|
21-Jan-2020 |
skrll |
Sort a bit
|
#
1.151 |
|
21-Jan-2020 |
skrll |
Trailing whitespace
|
Revision tags: ad-namecache-base1
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
branches: 1.149.2; Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.161 |
|
02-Aug-2020 |
maxv |
Add support for Privileged Access Never (ARMv8.1-PAN).
PAN provides the same functionality as SMAP on x86: it forbids kernel access to userland pages when PSTATE.PAN=1, and allows such accesses when PSTATE.PAN=0.
We clear SCTLR_SPAN, to guarantee that PAN=1 each time the kernel is entered. We catch PAN faults and panic right away without further processing. In copyin, copyout, etc, we temporarily authorize access to userland pages.
PAN is a very useful exploit mitigation. Reviewed by ryo@, thanks. Tested on Qemu. Enabled by default.
|
#
1.160 |
|
27-Jul-2020 |
riastradh |
Enable ChaCha NEON code on armv7 too.
The 4-blocks-at-a-time assembly helper is disabled for now; adapting it to armv7 is going to be a little annoying with only 16 128-bit vector registers.
(Should also do a fifth block in the integer registers for 320 bytes at a time.)
|
#
1.159 |
|
27-Jul-2020 |
riastradh |
Fix outdated comment.
|
#
1.158 |
|
29-Jun-2020 |
riastradh |
New permutation-based AES implementation using ARM NEON.
Also derived from Mike Hamburg's public-domain vpaes code.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
#
1.157 |
|
18-Apr-2020 |
skrll |
PMAP_DEBUG has been deleted on arm
|
#
1.156 |
|
13-Apr-2020 |
maxv |
Add KASAN-DMA support on aarch64, same as amd64. Discussed with skrll@.
|
#
1.155 |
|
13-Apr-2020 |
maxv |
Add support for Branch Target Identification (BTI).
On the executable pages that have the GP (Guarded Page) bit, the semantic of the "br" and "blr" instructions is changed: the CPU expects the first instruction of the jump/call target to be "bti", and faults if it isn't.
We add the GP bit on the kernel .text pages (and incidentally the .rodata pages, but we don't care). The compiler adds a "bti c" instruction at the beginning of each C function. We modify the ENTRY() macros to manually add "bti c" in the asm functions.
cpuswitch.S needs a specific change: with "br x27" the CPU expects "bti j", which is bad because the functions begin with "bti c"; switch to "br x16", for the CPU to accept "bti c".
BTI helps defend against JOP/COP. Tested on Qemu.
|
#
1.154 |
|
12-Apr-2020 |
maxv |
Add support for Pointer Authentication (PAC).
We use the "pac-ret" option, to sign the return instruction pointer on function entry, and authenticate it on function exit. This acts as a mitigation against ROP.
The authentication uses a per-lwp (secret) I-A key stored in the 128bit APIAKey register and part of the lwp context. During lwp creation, the kernel generates a random key, and during context switches, it installs the key of the target lwp on the CPU.
Userland cannot read the APIAKey register directly. However, it can sign its pointers with it, because the register is architecturally shared between userland and the kernel. Although part of the CPU design, it is a bit of an undesired behavior, because it allows to forge valid kernel pointers from userland. To avoid that, we don't share the key with userland, and rather switch it in EL0<->EL1 transitions. This means that when userland executes, a different key is loaded in APIAKey than the one the kernel uses. For now the userland key is a fixed 128bit zero value.
The DDB stack unwinder is changed to strip the authentication code from the pointers in lr.
Two problems are known:
* Currently the idlelwps' keys are not really secret. This is because the RNG is not yet available when we spawn these lwps. Not overly important, but would be nice to fix with UEFI RNG. * The key switching in EL0<->EL1 transitions is not the most optimized code on the planet. Instead of checking aarch64_pac_enabled, it would be better to hot-patch the code at boot time, but there currently is no hot-patch support on aarch64.
Tested on Qemu.
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.153 |
|
15-Feb-2020 |
skrll |
branches: 1.153.4; Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
|
Revision tags: ad-namecache-base2
|
#
1.152 |
|
21-Jan-2020 |
skrll |
Sort a bit
|
#
1.151 |
|
21-Jan-2020 |
skrll |
Trailing whitespace
|
Revision tags: ad-namecache-base1
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
branches: 1.149.2; Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.160 |
|
27-Jul-2020 |
riastradh |
Enable ChaCha NEON code on armv7 too.
The 4-blocks-at-a-time assembly helper is disabled for now; adapting it to armv7 is going to be a little annoying with only 16 128-bit vector registers.
(Should also do a fifth block in the integer registers for 320 bytes at a time.)
|
#
1.159 |
|
27-Jul-2020 |
riastradh |
Fix outdated comment.
|
#
1.158 |
|
29-Jun-2020 |
riastradh |
New permutation-based AES implementation using ARM NEON.
Also derived from Mike Hamburg's public-domain vpaes code.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
#
1.157 |
|
18-Apr-2020 |
skrll |
PMAP_DEBUG has been deleted on arm
|
#
1.156 |
|
13-Apr-2020 |
maxv |
Add KASAN-DMA support on aarch64, same as amd64. Discussed with skrll@.
|
#
1.155 |
|
13-Apr-2020 |
maxv |
Add support for Branch Target Identification (BTI).
On the executable pages that have the GP (Guarded Page) bit, the semantic of the "br" and "blr" instructions is changed: the CPU expects the first instruction of the jump/call target to be "bti", and faults if it isn't.
We add the GP bit on the kernel .text pages (and incidentally the .rodata pages, but we don't care). The compiler adds a "bti c" instruction at the beginning of each C function. We modify the ENTRY() macros to manually add "bti c" in the asm functions.
cpuswitch.S needs a specific change: with "br x27" the CPU expects "bti j", which is bad because the functions begin with "bti c"; switch to "br x16", for the CPU to accept "bti c".
BTI helps defend against JOP/COP. Tested on Qemu.
|
#
1.154 |
|
12-Apr-2020 |
maxv |
Add support for Pointer Authentication (PAC).
We use the "pac-ret" option, to sign the return instruction pointer on function entry, and authenticate it on function exit. This acts as a mitigation against ROP.
The authentication uses a per-lwp (secret) I-A key stored in the 128bit APIAKey register and part of the lwp context. During lwp creation, the kernel generates a random key, and during context switches, it installs the key of the target lwp on the CPU.
Userland cannot read the APIAKey register directly. However, it can sign its pointers with it, because the register is architecturally shared between userland and the kernel. Although part of the CPU design, it is a bit of an undesired behavior, because it allows to forge valid kernel pointers from userland. To avoid that, we don't share the key with userland, and rather switch it in EL0<->EL1 transitions. This means that when userland executes, a different key is loaded in APIAKey than the one the kernel uses. For now the userland key is a fixed 128bit zero value.
The DDB stack unwinder is changed to strip the authentication code from the pointers in lr.
Two problems are known:
* Currently the idlelwps' keys are not really secret. This is because the RNG is not yet available when we spawn these lwps. Not overly important, but would be nice to fix with UEFI RNG. * The key switching in EL0<->EL1 transitions is not the most optimized code on the planet. Instead of checking aarch64_pac_enabled, it would be better to hot-patch the code at boot time, but there currently is no hot-patch support on aarch64.
Tested on Qemu.
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.153 |
|
15-Feb-2020 |
skrll |
branches: 1.153.4; Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
|
Revision tags: ad-namecache-base2
|
#
1.152 |
|
21-Jan-2020 |
skrll |
Sort a bit
|
#
1.151 |
|
21-Jan-2020 |
skrll |
Trailing whitespace
|
Revision tags: ad-namecache-base1
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
branches: 1.149.2; Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.158 |
|
29-Jun-2020 |
riastradh |
New permutation-based AES implementation using ARM NEON.
Also derived from Mike Hamburg's public-domain vpaes code.
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
#
1.157 |
|
18-Apr-2020 |
skrll |
PMAP_DEBUG has been deleted on arm
|
#
1.156 |
|
13-Apr-2020 |
maxv |
Add KASAN-DMA support on aarch64, same as amd64. Discussed with skrll@.
|
#
1.155 |
|
13-Apr-2020 |
maxv |
Add support for Branch Target Identification (BTI).
On the executable pages that have the GP (Guarded Page) bit, the semantic of the "br" and "blr" instructions is changed: the CPU expects the first instruction of the jump/call target to be "bti", and faults if it isn't.
We add the GP bit on the kernel .text pages (and incidentally the .rodata pages, but we don't care). The compiler adds a "bti c" instruction at the beginning of each C function. We modify the ENTRY() macros to manually add "bti c" in the asm functions.
cpuswitch.S needs a specific change: with "br x27" the CPU expects "bti j", which is bad because the functions begin with "bti c"; switch to "br x16", for the CPU to accept "bti c".
BTI helps defend against JOP/COP. Tested on Qemu.
|
#
1.154 |
|
12-Apr-2020 |
maxv |
Add support for Pointer Authentication (PAC).
We use the "pac-ret" option, to sign the return instruction pointer on function entry, and authenticate it on function exit. This acts as a mitigation against ROP.
The authentication uses a per-lwp (secret) I-A key stored in the 128bit APIAKey register and part of the lwp context. During lwp creation, the kernel generates a random key, and during context switches, it installs the key of the target lwp on the CPU.
Userland cannot read the APIAKey register directly. However, it can sign its pointers with it, because the register is architecturally shared between userland and the kernel. Although part of the CPU design, it is a bit of an undesired behavior, because it allows to forge valid kernel pointers from userland. To avoid that, we don't share the key with userland, and rather switch it in EL0<->EL1 transitions. This means that when userland executes, a different key is loaded in APIAKey than the one the kernel uses. For now the userland key is a fixed 128bit zero value.
The DDB stack unwinder is changed to strip the authentication code from the pointers in lr.
Two problems are known:
* Currently the idlelwps' keys are not really secret. This is because the RNG is not yet available when we spawn these lwps. Not overly important, but would be nice to fix with UEFI RNG. * The key switching in EL0<->EL1 transitions is not the most optimized code on the planet. Instead of checking aarch64_pac_enabled, it would be better to hot-patch the code at boot time, but there currently is no hot-patch support on aarch64.
Tested on Qemu.
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.153 |
|
15-Feb-2020 |
skrll |
branches: 1.153.4; Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
|
Revision tags: ad-namecache-base2
|
#
1.152 |
|
21-Jan-2020 |
skrll |
Sort a bit
|
#
1.151 |
|
21-Jan-2020 |
skrll |
Trailing whitespace
|
Revision tags: ad-namecache-base1
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
branches: 1.149.2; Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.157 |
|
18-Apr-2020 |
skrll |
PMAP_DEBUG has been deleted on arm
|
#
1.156 |
|
13-Apr-2020 |
maxv |
Add KASAN-DMA support on aarch64, same as amd64. Discussed with skrll@.
|
#
1.155 |
|
13-Apr-2020 |
maxv |
Add support for Branch Target Identification (BTI).
On the executable pages that have the GP (Guarded Page) bit, the semantic of the "br" and "blr" instructions is changed: the CPU expects the first instruction of the jump/call target to be "bti", and faults if it isn't.
We add the GP bit on the kernel .text pages (and incidentally the .rodata pages, but we don't care). The compiler adds a "bti c" instruction at the beginning of each C function. We modify the ENTRY() macros to manually add "bti c" in the asm functions.
cpuswitch.S needs a specific change: with "br x27" the CPU expects "bti j", which is bad because the functions begin with "bti c"; switch to "br x16", for the CPU to accept "bti c".
BTI helps defend against JOP/COP. Tested on Qemu.
|
#
1.154 |
|
12-Apr-2020 |
maxv |
Add support for Pointer Authentication (PAC).
We use the "pac-ret" option, to sign the return instruction pointer on function entry, and authenticate it on function exit. This acts as a mitigation against ROP.
The authentication uses a per-lwp (secret) I-A key stored in the 128bit APIAKey register and part of the lwp context. During lwp creation, the kernel generates a random key, and during context switches, it installs the key of the target lwp on the CPU.
Userland cannot read the APIAKey register directly. However, it can sign its pointers with it, because the register is architecturally shared between userland and the kernel. Although part of the CPU design, it is a bit of an undesired behavior, because it allows to forge valid kernel pointers from userland. To avoid that, we don't share the key with userland, and rather switch it in EL0<->EL1 transitions. This means that when userland executes, a different key is loaded in APIAKey than the one the kernel uses. For now the userland key is a fixed 128bit zero value.
The DDB stack unwinder is changed to strip the authentication code from the pointers in lr.
Two problems are known:
* Currently the idlelwps' keys are not really secret. This is because the RNG is not yet available when we spawn these lwps. Not overly important, but would be nice to fix with UEFI RNG. * The key switching in EL0<->EL1 transitions is not the most optimized code on the planet. Instead of checking aarch64_pac_enabled, it would be better to hot-patch the code at boot time, but there currently is no hot-patch support on aarch64.
Tested on Qemu.
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.153 |
|
15-Feb-2020 |
skrll |
Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
|
Revision tags: ad-namecache-base2
|
#
1.152 |
|
21-Jan-2020 |
skrll |
Sort a bit
|
#
1.151 |
|
21-Jan-2020 |
skrll |
Trailing whitespace
|
Revision tags: ad-namecache-base1
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
branches: 1.149.2; Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.156 |
|
13-Apr-2020 |
maxv |
Add KASAN-DMA support on aarch64, same as amd64. Discussed with skrll@.
|
#
1.155 |
|
13-Apr-2020 |
maxv |
Add support for Branch Target Identification (BTI).
On the executable pages that have the GP (Guarded Page) bit, the semantic of the "br" and "blr" instructions is changed: the CPU expects the first instruction of the jump/call target to be "bti", and faults if it isn't.
We add the GP bit on the kernel .text pages (and incidentally the .rodata pages, but we don't care). The compiler adds a "bti c" instruction at the beginning of each C function. We modify the ENTRY() macros to manually add "bti c" in the asm functions.
cpuswitch.S needs a specific change: with "br x27" the CPU expects "bti j", which is bad because the functions begin with "bti c"; switch to "br x16", for the CPU to accept "bti c".
BTI helps defend against JOP/COP. Tested on Qemu.
|
#
1.154 |
|
12-Apr-2020 |
maxv |
Add support for Pointer Authentication (PAC).
We use the "pac-ret" option, to sign the return instruction pointer on function entry, and authenticate it on function exit. This acts as a mitigation against ROP.
The authentication uses a per-lwp (secret) I-A key stored in the 128bit APIAKey register and part of the lwp context. During lwp creation, the kernel generates a random key, and during context switches, it installs the key of the target lwp on the CPU.
Userland cannot read the APIAKey register directly. However, it can sign its pointers with it, because the register is architecturally shared between userland and the kernel. Although part of the CPU design, it is a bit of an undesired behavior, because it allows to forge valid kernel pointers from userland. To avoid that, we don't share the key with userland, and rather switch it in EL0<->EL1 transitions. This means that when userland executes, a different key is loaded in APIAKey than the one the kernel uses. For now the userland key is a fixed 128bit zero value.
The DDB stack unwinder is changed to strip the authentication code from the pointers in lr.
Two problems are known:
* Currently the idlelwps' keys are not really secret. This is because the RNG is not yet available when we spawn these lwps. Not overly important, but would be nice to fix with UEFI RNG. * The key switching in EL0<->EL1 transitions is not the most optimized code on the planet. Instead of checking aarch64_pac_enabled, it would be better to hot-patch the code at boot time, but there currently is no hot-patch support on aarch64.
Tested on Qemu.
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.153 |
|
15-Feb-2020 |
skrll |
Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
|
Revision tags: ad-namecache-base2
|
#
1.152 |
|
21-Jan-2020 |
skrll |
Sort a bit
|
#
1.151 |
|
21-Jan-2020 |
skrll |
Trailing whitespace
|
Revision tags: ad-namecache-base1
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
branches: 1.149.2; Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.154 |
|
12-Apr-2020 |
maxv |
Add support for Pointer Authentication (PAC).
We use the "pac-ret" option, to sign the return instruction pointer on function entry, and authenticate it on function exit. This acts as a mitigation against ROP.
The authentication uses a per-lwp (secret) I-A key stored in the 128bit APIAKey register and part of the lwp context. During lwp creation, the kernel generates a random key, and during context switches, it installs the key of the target lwp on the CPU.
Userland cannot read the APIAKey register directly. However, it can sign its pointers with it, because the register is architecturally shared between userland and the kernel. Although part of the CPU design, it is a bit of an undesired behavior, because it allows to forge valid kernel pointers from userland. To avoid that, we don't share the key with userland, and rather switch it in EL0<->EL1 transitions. This means that when userland executes, a different key is loaded in APIAKey than the one the kernel uses. For now the userland key is a fixed 128bit zero value.
The DDB stack unwinder is changed to strip the authentication code from the pointers in lr.
Two problems are known:
* Currently the idlelwps' keys are not really secret. This is because the RNG is not yet available when we spawn these lwps. Not overly important, but would be nice to fix with UEFI RNG. * The key switching in EL0<->EL1 transitions is not the most optimized code on the planet. Instead of checking aarch64_pac_enabled, it would be better to hot-patch the code at boot time, but there currently is no hot-patch support on aarch64.
Tested on Qemu.
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
#
1.153 |
|
15-Feb-2020 |
skrll |
Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
|
Revision tags: ad-namecache-base2
|
#
1.152 |
|
21-Jan-2020 |
skrll |
Sort a bit
|
#
1.151 |
|
21-Jan-2020 |
skrll |
Trailing whitespace
|
Revision tags: ad-namecache-base1
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
branches: 1.149.2; Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.153 |
|
15-Feb-2020 |
skrll |
Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
|
Revision tags: ad-namecache-base2
|
#
1.152 |
|
21-Jan-2020 |
skrll |
Sort a bit
|
#
1.151 |
|
21-Jan-2020 |
skrll |
Trailing whitespace
|
Revision tags: ad-namecache-base1
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
branches: 1.149.2; Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.152 |
|
21-Jan-2020 |
skrll |
Sort a bit
|
#
1.151 |
|
21-Jan-2020 |
skrll |
Trailing whitespace
|
Revision tags: ad-namecache-base1
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
branches: 1.149.2; Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.150 |
|
15-Jan-2020 |
mrg |
port the arm64 cpu topology setup for big.little to arm.
rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach().
replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.)
not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
|
Revision tags: ad-namecache-base
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.149 |
|
20-Nov-2019 |
pgoyette |
Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded.
Welcome to 9.99.18 !
|
Revision tags: phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
branches: 1.139.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
Revision tags: isaki-audio2-base
|
#
1.148 |
|
27-Jan-2019 |
pgoyette |
Merge the [pgoyette-compat] branch
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
|
#
1.147 |
|
05-Dec-2018 |
jmcneill |
Split armv7/armv8 tprof backend config logic from the fdt bus glue.
|
Revision tags: pgoyette-compat-1126
|
#
1.146 |
|
28-Oct-2018 |
jmcneill |
Add support for EFI runtime services on aarch64.
|
Revision tags: pgoyette-compat-1020
|
#
1.145 |
|
18-Oct-2018 |
skrll |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
#
1.144 |
|
06-Oct-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0930
|
#
1.143 |
|
21-Sep-2018 |
skrll |
Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
#
1.142 |
|
16-Sep-2018 |
skrll |
Whitespace
|
Revision tags: pgoyette-compat-0906
|
#
1.141 |
|
10-Aug-2018 |
maxv |
remove reference to CPU_ARMV2, suggested by jmcneill@
|
#
1.140 |
|
10-Aug-2018 |
maxv |
Retire CPU_ARM2, CPU_ARM250 and CPU_ARM3, they are all leftovers of acorn26.
ok jmcneill@ skrll@
|
Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
|
#
1.139 |
|
01-Apr-2018 |
ryo |
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
Revision tags: pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
#
1.138 |
|
24-Jan-2018 |
skrll |
branches: 1.138.2; Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.138 |
|
24-Jan-2018 |
skrll |
Remove port-acorn26
OK core@
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.137 |
|
17-Jan-2018 |
skrll |
G/C ARM32_NEW_VM_LAYOUT
|
Revision tags: tls-maxphys-base-20171202
|
#
1.136 |
|
10-Nov-2017 |
matt |
Add CPU_CORTEXA35
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.135 |
|
08-Oct-2017 |
jmcneill |
defflag CPU_CORTEXA53
|
Revision tags: nick-nhusb-base-20170825
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.134 |
|
24-Aug-2017 |
jmcneill |
Add __HAVE_GENERIC_CPU_INITCLOCKS option. If set, don't export cpu_initclocks from device drivers as common code (in this case FDT) will provide its own copy.
|
Revision tags: perseant-stdc-iso10646-base
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
branches: 1.132.2; Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.133 |
|
28-Jun-2017 |
jmcneill |
Add support for ARM Power State Coordination Interface (PSCI).
|
Revision tags: netbsd-8-base
|
#
1.132 |
|
26-May-2017 |
jmcneill |
Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
#
1.132 |
|
26-May-2017 |
jmcneill |
Recognize Cortex-A57 FPU, GIC, and Generic Timer.
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
#
1.131 |
|
11-Nov-2015 |
skrll |
Support pmap_pv_track and friends
|
Revision tags: nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.130 |
|
07-Feb-2015 |
jmcneill |
According to the Cortex-A5 TRM, the CBAR register is not implemented and always reads as 0x00000000. Add ARM_CBAR option to set this in kernel config.
|
#
1.129 |
|
01-Dec-2014 |
matt |
Add CPU_CORTEXA17
|
Revision tags: nick-nhusb-base
|
#
1.128 |
|
26-Nov-2014 |
matt |
branches: 1.128.2; Add option ARM_HAS_LPAE
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.127 |
|
14-Apr-2014 |
matt |
branches: 1.127.2; Support (untested) SHEEVA_L2_CACHE and SHEEVA_L2_CACHE_WT options. Move prototypes out to <arm/cpufunc.h> to their own file. Add sdcache routines to cpufunc_asm_sheeva.S Add code sheeve_setup to init the sdcache and sdcache info.
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
#
1.126 |
|
30-Mar-2014 |
matt |
branches: 1.126.2; Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
|
#
1.125 |
|
18-Mar-2014 |
matt |
defflag VERBOSE_INIT_ARM
|
Revision tags: riastradh-drm2-base3
|
#
1.124 |
|
20-Feb-2014 |
matt |
cpu_cortex doesn't need the arm11 cpufuncs any more
|
#
1.123 |
|
12-Nov-2013 |
matt |
CPU_ARMV[67] imply ARM32_DISABLE_ALIGNMENT_FAULTS Make it explicit.
|
#
1.122 |
|
17-Aug-2013 |
matt |
Nuke atomic.S since we have MI defined atomic ops
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
|
#
1.121 |
|
02-Jul-2013 |
matt |
Rework to have CPU_PREARMV6, CPU_ARMV6, as well as CPU_ARMV7
|
#
1.120 |
|
22-Jun-2013 |
matt |
branches: 1.120.2; File VBAR option
|
#
1.119 |
|
12-Jun-2013 |
matt |
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
|
#
1.118 |
|
12-Jun-2013 |
matt |
Add CPU_ARMV7 and make CPU_PJ4B and CPU_CORTEX instantiate it.
|
#
1.117 |
|
19-May-2013 |
rkujawa |
Make PJ4B support code compilable.
Obtained from Marvell, Semihalf.
|
Revision tags: agc-symver-base
|
#
1.116 |
|
14-Feb-2013 |
matt |
Add BUSDMA_COUNTERS option
|
#
1.115 |
|
28-Jan-2013 |
matt |
Disable bzero_page_vfp and bcopy_page_vfp since it really isn't any faster than memcpy.
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
#
1.114 |
|
10-Dec-2012 |
matt |
Add code to use VFP(or Neon) instructions to zero or copy a page via pmap_zero_page and pmap_copy_page. (Not hooked into vfp_init yet). Requires FPU_VFP
|
#
1.113 |
|
05-Dec-2012 |
matt |
ARMFPE hasn't compiled since NetBSD 4. Remove it. Complete support for FPU_VFP. fpregs now contains vfpreg. XXX vfpreg only has space for 16 64-bit FP registers though VFPv3 and later have 32 64-bit FP registers.
|
Revision tags: yamt-pagecache-base6
|
#
1.112 |
|
17-Oct-2012 |
matt |
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
|
#
1.111 |
|
18-Sep-2012 |
matt |
add _ARM32_NEED_BUS_DMA_BOUNCE to opt_arm_bus_space.h (It's not really a bus_space option but it's close enough).
|
#
1.110 |
|
29-Aug-2012 |
matt |
branches: 1.110.2; Add core locator to mainbus. Add support for attaching multiple CPUs
|
#
1.109 |
|
29-Aug-2012 |
matt |
Rename ARM options PROCESS_ID_IS_CUR{CPU,LWP} to TPIDRPRW_IS_CUR{CPU,LWP} since TPIDRPRW is the cp15 register name. Initialize it early in start along with CI_ARM_CPUID. Remove other initializations. We alays have ci_curlwp. Enable TIPRPRW_IS_CURCPU in std.beagle. [tested on a beaglboard (cortex-a8)]
|
#
1.108 |
|
12-Aug-2012 |
matt |
Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
#
1.107 |
|
03-Aug-2012 |
matt |
COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
#
1.106 |
|
21-Jul-2012 |
skrll |
Add support for the ARM1176JZS
|
#
1.105 |
|
14-Jul-2012 |
matt |
Add intrbase locator to mainbus.
|
#
1.104 |
|
13-Jul-2012 |
matt |
Begin support for Cortex A5, A7, A15 and expand A8 and A9 definitions. Instead of testing all possible CPUids for a cortex, we know what range a cortex will be so mask out the insignificant parts and do a single test.
|
Revision tags: 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 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.103 |
|
11-Dec-2011 |
kiyohara |
branches: 1.103.2; Require arm3_cache_flush for ARM2/ARM250.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.102 |
|
12-Jun-2011 |
rmind |
branches: 1.102.2; 1.102.6; Welcome to 5.99.53! Merge rmind-uvmplock branch:
- Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock.
- Simplify locking in some pmap(9) modules by removing P->V locking.
- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).
- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.
- Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues.
Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase rmind-uvmplock-base jym-xensuspend-base
|
#
1.101 |
|
10-Mar-2011 |
bsh |
branches: 1.101.2; Preliminary ARM11 MPCore support.
I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
|
Revision tags: uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11
|
#
1.100 |
|
02-Oct-2010 |
kiyohara |
branches: 1.100.2; Add support Marvell Sheeva Core and SoC. (Orion/Kirkwood) Discovery Innovation not yet.
|
Revision tags: uebayasi-xip-base2 yamt-nfs-mp-base10
|
#
1.99 |
|
19-Jun-2010 |
matt |
Cleanup the armv7 changes. Add ARM_ARCH_7. Use CPU_CORTEX instead of CPU_CORTEXA8 everywhere since there more types of Cortex than just the A8. CPU_CORTEXA8 still exists but causes CPU_CORTEX to be defined. Add CPU_CORTEXA9 as well. Use .arch armv7a to get us the isb/dsb instructions.
Test booted to root device prompt on a Beagleboard. All ARM kernels successfully test built.
|
#
1.98 |
|
16-Jun-2010 |
jmcneill |
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530
Apply patch from PR, with build fixes. ok skrll, matt
|
Revision tags: uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.97 |
|
27-Dec-2009 |
uebayasi |
branches: 1.97.2; 1.97.4; Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
|
Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
|
#
1.96 |
|
18-Jan-2009 |
bjh21 |
Adapt the arm32 fusu implementation for use on PROG26 configurations and use it on acorn26.
|
#
1.95 |
|
18-Jan-2009 |
bjh21 |
Move arch/arm/arm32/fusu.S to arch/arm/arm/fusu.S in preparation for making it usable on acorn26 as well.
|
Revision tags: haad-dm-base2 haad-nbase2 ad-audiomp2-base haad-dm-base mjf-devfs2-base
|
#
1.94 |
|
19-Nov-2008 |
ad |
Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1
|
#
1.93 |
|
14-Oct-2008 |
matt |
branches: 1.93.2; 1.93.8; Add FA526 support (compile tested only)
|
Revision tags: wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
#
1.92 |
|
27-Aug-2008 |
matt |
Add CPU_CORTEXA8
|
Revision tags: wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.91 |
|
27-Apr-2008 |
matt |
branches: 1.91.2; 1.91.6; Merge kernel changes in matt-armv6 to HEAD.
|
Revision tags: yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 chris-arm-intr-rework-base7 keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
|
#
1.90 |
|
15-Mar-2008 |
rearnsha |
branches: 1.90.2; 1.90.4; VFP support.
|
Revision tags: nick-net80211-sync-base chris-arm-intr-rework-base6 chris-arm-intr-rework-base5 mjf-devfs-base hpcarm-cleanup-base
|
#
1.89 |
|
26-Jan-2008 |
chris |
branches: 1.89.2; 1.89.6; Add arm version of cpu_in_cksum. Based on previous in_cksum4 code.
In fact it's mostly the same code, with a different stub on it.
On a cats the regress/sys/net/in_cksum tests show that it takes around 50-60% of the time the C version takes. In some cases it takes as low as 20%.
|
#
1.88 |
|
25-Jan-2008 |
joerg |
Refactor in_cksum/in4_cksum/in6_cksum implementations: - All three functions are included in the kernel by default. They call a backend function cpu_in_cksum after possibly computing the checksum of the pseudo header. - cpu_in_cksum is the core to implement the one-complement sum. The default implementation is moderate fast on most platforms and provides a 32bit accumulator with 16bit addends for L32 platforms and a 64bit accumulator with 32bit addends for L64 platforms. It handles edge cases like very large mbuf chains (could happen with native IPv6 in the future) and provides a good base for new native implementations. - Modify i386 and amd64 assembly to use the new interface.
This disables the MD implementations on !x86 until the conversion is done. For Alpha, the portable version is faster.
|
Revision tags: chris-arm-intr-rework-base4 bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
|
#
1.87 |
|
06-Jan-2008 |
ad |
Add MODULAR option. Include kernel linker stuff if MODULAR.
|
Revision tags: chris-arm-intr-rework-base3 vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
|
#
1.86 |
|
17-Oct-2007 |
garbled |
branches: 1.86.2; 1.86.8; 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 chris-arm-intr-rework-base2 chris-arm-intr-rework-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
|
#
1.85 |
|
07-Jul-2007 |
tsutsui |
branches: 1.85.6; 1.85.10; 1.85.12; Remove leftover netns stuff.
|
#
1.84 |
|
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.83 |
|
09-Mar-2007 |
thorpej |
branches: 1.83.2; 1.83.4; 1.83.8; 1.83.10; Rewrite the ARM mutex implementation to be of the simple-mutex variety. Because pre-v6 ARM lacks support for an atomic compare-and-swap, we implement _lock_cas() as a restartable atomic squence that is checked in the IRQ handler right before AST processing. (This is safe because, for all practical purposes, there are no SMP pre-v6 ARM systems.)
This can serve as a model for other non-MP platforms that lack the necessary atomic operations for mutexes (SuperH, for example).
Upshots of this change: - kmutex_t is now down to 8 bytes on ARM; about as good as we can get. - ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.
The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK. That is left as an exercise for the port maintainer.
Reviewed and tested by Matt Thomas.
|
Revision tags: ad-audiomp-base post-newlock2-merge newlock2-nbase newlock2-base
|
#
1.82 |
|
06-Jan-2007 |
christos |
branches: 1.82.2; Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/31/0000.html Patch to add support for ARM9E
|
Revision tags: yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final 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.81 |
|
11-Dec-2005 |
christos |
branches: 1.81.20; 1.81.24; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.80 |
|
13-Sep-2005 |
christos |
split compat_16 functions to their own file and make this compile again.
|
#
1.79 |
|
04-Jul-2005 |
bsh |
branches: 1.79.2; The first step to support Intel PXA270.
kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
|
#
1.78 |
|
03-Jun-2005 |
rearnsha |
Very basic support for the ARM1136.
This code takes no advantage of any 'new' features provided by architecture 6 devices (such as physically tagged caches or new MMU features), and basically runs the chip in a 'legacy v5' mode.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
|
#
1.77 |
|
03-Apr-2004 |
bsh |
add an option to force ARM9 dcache to write-through mode.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-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.76 |
|
05-Nov-2003 |
scw |
Add "options ARM32_DISABLE_ALIGNMENT_FAULTS" to forcibly disable alignment fault checking if necessary.
This option gets the acorn32 port working again.
XXX: Richard Earnshaw suggested enabling alignment faults for XXX: userland only on acorn32. Need to investigate this.
|
#
1.75 |
|
23-Oct-2003 |
scw |
Add a defflag for __BUS_SPACE_HAS_STREAM_METHODS, and add the appropriate glue in bus.h, contingent on the option being defined.
This allows stream methods to be available on a port-by-port basis.
|
#
1.74 |
|
11-Sep-2003 |
scw |
Hand-optimised in_cksum/in4_cksum for ARM and XSCALE. Contributed by Wasabi Systems, with input from Chris Gilbert, Richard Earnshaw and David Laight.
|
#
1.73 |
|
06-Sep-2003 |
rearnsha |
Add build-system support for ARM10.
|
#
1.72 |
|
23-May-2003 |
ichiro |
branches: 1.72.2; support IXP425 Intel Network Processor running on BigEndian
|
#
1.71 |
|
21-May-2003 |
thorpej |
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
|
#
1.70 |
|
03-May-2003 |
thorpej |
ARM32_PMAP_NEEDS_PTE_SYNC no longer exists.
|
#
1.69 |
|
28-Apr-2003 |
briggs |
Add arm32 machine-specific remote kgdb support. Largely from PR port-arm/15530 by bsh@, but with some updates from me, including a fresh arm32/kgdb_machdep.c--ported from pc532.
|
#
1.68 |
|
21-Apr-2003 |
thorpej |
Defflag XSCALE_CACHE_READ_WRITE_ALLOCATE and XSCALE_NO_COALESCE_WRITES.
|
#
1.67 |
|
18-Apr-2003 |
scw |
Add the generic arm32 bits of the new pmap, contributed by Wasabi Systems.
Some features of the new pmap are:
- It allows L1 descriptor tables to be shared efficiently between multiple processes. A typical "maxusers 32" kernel, where NPROC is set to 532, requires 35 L1s. A "maxusers 2" kernel runs quite happily with just 4 L1s. This completely solves the problem of running out of contiguous physical memory for allocating new L1s at runtime on a busy system.
- Much improved cache/TLB management "smarts". This change ripples out to encompass the low-level context switch code, which is also much smarter about when to flush the cache/TLB, and when not to.
- Faster allocation of L2 page tables and associated metadata thanks, in part, to the pool_cache enhancements recently contributed to NetBSD by Wasabi Systems.
- Faster VM space teardown due to accurate referenced tracking of L2 page tables.
- Better/faster cache-alias tracking.
The new pmap is enabled by adding options ARM32_PMAP_NEW to the kernel config file, and making the necessary changes to the port-specific initarm() function. Several ports have already been converted and will be committed shortly.
|
#
1.66 |
|
29-Mar-2003 |
bsh |
put options XSCALE_CACHE_WRITE_THROUGH into opt_cpuoptions.h. add XSCALE_CACHE_WRITE_BACK.
|
Revision tags: nathanw_sa_before_merge nathanw_sa_base
|
#
1.65 |
|
02-Jan-2003 |
thorpej |
Clean up evbarm interrupt support a little: * Define an ARM_INTR_IMPL option, which specifies a header file describing the interrupt implementation for the platform. Use this instead of the list of EVBARM_BOARDTYPE checks. * Make the s3c2xx0 interrupt dispatch code a bit more generic, and move it to a generic location so that other platforms can use it.
This eliminates all uses of the EVBARM_BOARDTYPE stuff, so delete it.
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge bjh21-hydra-base
|
#
1.64 |
|
19-Oct-2002 |
bsh |
make atomic_{set,clear}_bit() inline for arm32 ports, and add <machine/atomic.h> for them.
|
Revision tags: gehenna-devsw-base kqueue-base
|
#
1.63 |
|
11-Aug-2002 |
bjh21 |
branches: 1.63.2; Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support for 26-bit modes (basically saving R14 when we might get a page fault). Use it on all ARM architectures now.
|
#
1.62 |
|
11-Aug-2002 |
bjh21 |
New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs. This version works on both 26-bit and 32-bit machines. For large copies, it's up to three times as fast as the old arm32 version and five times as fast as the old arm26 version. For small copies it seems to be even faster (getrusage() is apparently over ten times faster on an ARM610).
Hooray for Allen!
|
#
1.61 |
|
15-Jul-2002 |
ichiro |
add support for ixp12x0
|
Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
|
#
1.60 |
|
03-May-2002 |
rjs |
branches: 1.60.2; 1.60.4; Add correct use of cpu types for SA1100 and SA1110.
|
#
1.59 |
|
03-May-2002 |
thorpej |
Add the CPU_XSCALE_PXA2X0 option. From Hiroyuki Bessho, PR 16617.
|
#
1.58 |
|
12-Apr-2002 |
thorpej |
Add some generic bus_space ops, which are pulled in by the "bus_space_generic" configuration attribute.
|
#
1.57 |
|
12-Apr-2002 |
thorpej |
Centralize ARM CPU configuration information by adding a new header file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines the following: * CPU_NTYPES -- now many CPU types are configured into the kernel. What you really want to know is "== 1" or "> 1". * Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending on which ARM architecture versions are configured (based on CPU_* options). Also defines ARM_NARCH to determins how many architecture versions are configured. * Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS to determine how many MMU classes are configured.
Remove the needless inclusion of "opt_cputypes.h" in several places. Convert remaining users to <arm/cpuconf.h>.
|
#
1.56 |
|
26-Mar-2002 |
thorpej |
Restructure a few things in order to support other XScale core I/O processors: * The i80200 and the i80321 have the same CPU ID, so split the CPU_XSCALE option into CPU_XSCALE_80200 and CPU_XSCALE_80321 options, and don't let them both be defined at the same time. XXX May want to revisit this in the future. * Split some registers common between the i80200 and i80321 into <arm/xscale/xscalereg.h>. * Rename a few existing functions.
|
#
1.55 |
|
24-Mar-2002 |
bjh21 |
arm26->acorn26 transition.
|
Revision tags: eeh-devprop-base newlock-base ifpoll-base
|
#
1.54 |
|
30-Jan-2002 |
thorpej |
Add a sleep routine for the SA-11x0.
|
#
1.53 |
|
24-Jan-2002 |
briggs |
Two changes for XScale: 1) Add defparam XSCALE_CCLKCFG to define a parameter for the CCLKCFG register. Default it to '9' on the IQ80310. 2) Add a sleep call to the xscale CPU function vector (replacing the nullop) which should drop the CPU into "idle" mode when cpu_switch finds nothing on the run queues.
|
#
1.52 |
|
17-Jan-2002 |
bjh21 |
Separate out syscall() out into three parts: swi_handler() does stuff that all SWIs will need, then calls curproc->p_emul->e_syscall. syscall() handles native NetBSD system calls. linux_syscall() handles Linux system calls.
|
#
1.51 |
|
14-Jan-2002 |
bjh21 |
Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked.
|
#
1.50 |
|
12-Jan-2002 |
bjh21 |
Combined syscall handler for all ARM ports. This is basically the arm32 version, made readable and compatible with arm26. In addition, this adds support for NetBSD/arm's newly allocated SWI range.
|
#
1.49 |
|
07-Jan-2002 |
bjh21 |
On arm26, vectors.S needs to be at the start of the kernel text, so that it's on a page boundary and can be mapped straight into zero page. This means it has to be in MD_SFILES on arm26, and not in SFILES.
This probably leaves kernel_text in the wrong place, but it at least leaves the system bootable.
|
#
1.48 |
|
21-Dec-2001 |
bjh21 |
Merge ast() and userret() between arm32 and arm26. The implementation used is the arm32 one.
|
#
1.47 |
|
20-Dec-2001 |
thorpej |
* Share a common vector page between arm26 and arm32. * Use a common set of exception handlers for all arm32 platforms. * New FIQ framework based on discussions with Ben Harris, shared between arm26 and arm32.
|
#
1.46 |
|
28-Nov-2001 |
lukem |
- convert usage of "defopt" to "defflag" where the relevant option does not support a value (e.g., it's to be used as "options FOO" instead of "options FOO=xxx"). options that take a value were converted to defparam recently. - minor whitespace & formatting cleanups
|
#
1.45 |
|
26-Nov-2001 |
thorpej |
Move the interrupt-related file declarations into port-specific config descriptions so that each port choose whether or not to use it.
|
#
1.44 |
|
24-Nov-2001 |
thorpej |
Make the ARM, Ltd. floating point emulator work w/ ELF.
|
#
1.43 |
|
24-Nov-2001 |
thorpej |
Move the ARM, Ltd. floating point emulator to arch/arm.
|
#
1.42 |
|
22-Nov-2001 |
thorpej |
Add 26-bit and 32-bit types.h files, which indicate the programming model in use for a given platform (__PROG26 vs __PROG32), then pulls in <arm/types.h>. Change each ARM port to pull in <arm/arm26/types.h> or <arm/arm32/types.h> as appropriate. Change all references to PROG26 and PROG32 to __PROG26 and __PROG32. Eliminate the opt_progmode.h header file.
|
#
1.41 |
|
20-Nov-2001 |
lukem |
cleanup: options SPACE TAB makeoptions TAB psuedo-device TAB remove trailing whitespace replace multiple spaces -> tabs options "FOO" -> options FOO options "FOO=bar" -> options FOO=bar options "FOO=\"bar\"" -> options FOO="\"bar\""
|
Revision tags: thorpej-mips-cache-base
|
#
1.40 |
|
10-Nov-2001 |
thorpej |
branches: 1.40.2; Split all the model/version-specific cpufuncs into separate files corresponding to the model/version.
|
#
1.39 |
|
18-Oct-2001 |
rearnsha |
branches: 1.39.2; Add CPU_ARM9 to opt_cputypes.h
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.38 |
|
05-Sep-2001 |
matt |
Don't compile SPL/INTR stuff if NEWINTR is defined.
|
#
1.37 |
|
05-Aug-2001 |
chris |
Share procfs_machdep.c across arm.
|
#
1.36 |
|
31-Jul-2001 |
matt |
Add a CPU_XSCALE defopt (for eventual support).
|
#
1.35 |
|
28-Jul-2001 |
chris |
Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
#
1.34 |
|
10-Jul-2001 |
bjh21 |
Purge CPU_ARM7500. Thanks to Reinoud's work, it's no longer needed.
|
#
1.33 |
|
08-Jul-2001 |
rjs |
branches: 1.33.2; Initial copy of SA11x0 support from hpcarm.
|
#
1.32 |
|
18-Jun-2001 |
bjh21 |
Merge arm32/dev/bus_space_notimpl.S and hpcarm/hpcarm/bus_space_notimpl.S into arm/arm/bus_space_notimpl.S. They were identical anyway.
This file has no excuse for being in assembler, but I'll leave that for another day.
|
#
1.31 |
|
05-Jun-2001 |
bjh21 |
Replace arm/arm32/db_trace.c and arm26/arm26/db_trace.c with a unified version in arm/arm. This version is based on the arm26 version, and includes dumping the contents of stack frames, with automatic determination of the save code pointer offset.
|
#
1.30 |
|
03-Jun-2001 |
chris |
Add support for ARM7TDMI, as provided in a patch from John Fremlin to port-arm32.
Shouldn't effect any currently in tree ports.
|
#
1.29 |
|
29-May-2001 |
bjh21 |
Move blockio.S from sys/arch/arm32/arm32 to sys/arch/arm/arm, since I want to start using it on arm26.
hpcarm gets to keep its own version, since it's not identical and I haven't got an hpcarm box to test.
|
#
1.28 |
|
23-May-2001 |
chris |
Create an asm based version of in4_cksum based on the sparc version.
Also don't compute psuedo header for nxt == 0
|
#
1.27 |
|
13-May-2001 |
bjh21 |
strstr() is no longer used in the kernel. G/C it.
|
#
1.26 |
|
13-May-2001 |
bjh21 |
Move get_bootconf_option() into a new file, sys/arch/arm/arm/bootconfig.c, since it's in no way machine-dependent. It's not really ARM-specific either, but I don't think it's useful enough to be made part of the MI kernel.
|
#
1.25 |
|
06-May-2001 |
bjh21 |
Move "defopt PMAP_DEBUG" into files.arm, since it's used by code in arch/arm.
|
#
1.24 |
|
06-May-2001 |
bjh21 |
Move cpufunc stuff from arm32/arm32 to arm/arm. The only change involved is to add recognition of the SA-1100 and SA-1110 for compatibility with hpcarm (which is now using this code as well).
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.23 |
|
20-Apr-2001 |
matt |
Split cpu from mainbus so that cpu can attached to other buses (like ofbus).
|
#
1.22 |
|
14-Mar-2001 |
toshii |
Move references to arm/arm/disksubr*.c from files.arm to files.{arm26,arm32,dnard}.
|
#
1.21 |
|
11-Mar-2001 |
bjh21 |
"needs-flag" for cpu is no longer needed.
|
#
1.20 |
|
08-Mar-2001 |
bjh21 |
Use the same undefined-instuction handler on both arm26 and arm32. The handler is derived mostly from the arm32 version, but with a check for an obscure ARM2 bug thrown in.
arm26 fpu and cpu drivers use the new interface for catching undefined instructions.
|
#
1.19 |
|
06-Mar-2001 |
matt |
Move arm32/arm32/ast.c to arm/arm32/ast.c
|
#
1.18 |
|
05-Mar-2001 |
bjh21 |
Move undefined.c from sys/arch/{arm32/arm32,hpcarm/hpcarm} to sys/arch/arm/arm in preparation for making it usable on arm26 as well.
|
#
1.17 |
|
04-Mar-2001 |
bjh21 |
branches: 1.17.2; Merge setregs() from sys/arch/arm32/arm32/machdep.c, sys/arch/hpcarm/hpcarm/machdep.c and sys/arch/arm26/arm26/vm_machdep.c into sys/arch/arm/arm/arm_machdep.c.
|
#
1.16 |
|
04-Mar-2001 |
bjh21 |
Make compat_13_sys_sigreturn() work on arm26, and move it from arch/arm/arm32/compat_13_machdep.c to arch/arm/arm/compat_13_machdep.c.
|
#
1.15 |
|
04-Mar-2001 |
matt |
Move compat_13_machdep.c, strstr.c, copystr.S, bcopyinout.S, and bcopy_page.S to arm/arm32 and remove port-local copies.
|
#
1.14 |
|
04-Mar-2001 |
matt |
disksubr*.c are now shared. Start moving files from ../../arm32/arm32
|
#
1.13 |
|
27-Feb-2001 |
bjh21 |
Move "options ARMFPE" to files.arm, so generic ARM files can use it.
|
#
1.12 |
|
25-Feb-2001 |
bjh21 |
Add PROG32 and PROG26 options.
These are intended to indicate what size of program space is in use, and hence how to get at the PSR bits. They're currently set automatically by the CPU type options.
|
#
1.11 |
|
25-Feb-2001 |
bjh21 |
Allow "cpu" to have children. In the long term, this may be the best way to handle co-processors. In the short term, it's a necessary hack to get arm26 kernels to configure.
|
#
1.10 |
|
24-Feb-2001 |
reinoud |
Moved the mainbus files to the arm/conf/file.arm from the arm32 and the hpcarm/conf/files.hpcarm
|
#
1.9 |
|
23-Feb-2001 |
reinoud |
Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
#
1.8 |
|
13-Feb-2001 |
bjh21 |
Move cpu_coredump() from arm32/arm32/vm_machdep.c to arm/arm/vm_machdep_arm.c. Also ANSIfy it and use it on arm26.
|
#
1.7 |
|
13-Feb-2001 |
bjh21 |
Move sendsig() and sys___sigreturn14() from arm26/arm26/vm_machdep.c and arm32/arm32/machdep.c into arm/arm/sig_machdep.c, merging and ANSIfying in the process.
The code is based on the arm32 version, so I don't think anything should break there.
|
#
1.6 |
|
11-Feb-2001 |
bjh21 |
branches: 1.6.2; Shared ARM ptrace(2) implementation. Mostly the same as the arm32 version, but with some #ifdefs for arm26.
Also, don't define PT_STEP, since we don't implement it. This should reduce code size a little.
|
#
1.5 |
|
13-Jan-2001 |
bjh21 |
Separate out sigcode into its own file, since it's shared by arm26 and arm32.
|
#
1.4 |
|
12-Jan-2001 |
bjh21 |
Move db_disasm.c into sys/arch/arm/arm. Use arm26 version, since it should generate smaller compiled code.
|
#
1.3 |
|
12-Jan-2001 |
bjh21 |
Move the generic ARM disassembler from arm32/arm32 to arm/arm.
|
#
1.2 |
|
11-Jan-2001 |
bjh21 |
Start merging actual code in arm32 and arm26: arm32/arm32/in_cksum_arm32.c -> arm/arm/in_cksum_arm.c
Also move specification of other checksum stuff to files.arm, even though we use the MI code for that.
|
#
1.1 |
|
10-Jan-2001 |
bjh21 |
Empty file to keep config happy.
|