History log of /src/sys/arch/arm/arm32/arm32_machdep.c |
Revision | | Date | Author | Comments |
1.148 |
| 06-Sep-2025 |
thorpej | Refactor the "platform" defitions into fdt_platform.h
|
1.147 |
| 05-Mar-2024 |
thorpej | Move the at-shutdown call to resettodr() from cpu_reboot() to kern_reboot().
It's a small step, but it's a step.
|
1.146 |
| 07-Apr-2023 |
skrll | Rename ARM_PLATFORM to FDT_PLATFORM and make it available outside arm.
|
1.145 |
| 19-Jan-2023 |
mlelstv | Support remaining common boot options.
|
1.144 |
| 28-Jul-2022 |
riastradh | arm32: Refactor splhigh and restore in dosoftints.
No functional change intended. splhigh always returns ci->ci_cpl, which should not be changing at this point. Makes the bracketing by splhigh/splx clearer.
|
1.143 |
| 12-Mar-2022 |
skrll | No need to call arm_fdt_platform twice.
|
1.142 |
| 13-Nov-2021 |
jmcneill | Support 'boot -1' on arm
|
1.141 |
| 31-Oct-2021 |
skrll | Rework Arm (32bit and 64bit) AP startup so that cpu_hatch doesn't sleep.
The AP initialisation code in cpu_init_secondary_processor will read and initialise the required system registers and state for the BP to attach and report.
Rework the interrupt handler code for this new sequence. Thankfully, this removes a bunch of code for bcm2836mp.
The VFP detection handler on <= armv7 relies on the global undefined handler being in place until the BP attaches vfp. That is, after the APs have been spun up.
gicv3_its.c has a serialisation issue which is protected against in the gicv3_its_cpu_init, which is called from cpu_hatch, with a spin lock. The serialisation issue needs addressing more completely.
Tested on RPI3, Apple M1, QEMU, and lx2k
Fixes PR port-arm/56264: diagnostic assertion "l->l_stat == LSONPROC" failed on RPI3
|
1.140 |
| 21-Oct-2021 |
skrll | Whitespace in a comment
|
1.139 |
| 01-Dec-2020 |
rin | Switch earmv6{,hf}eb to BE8 in kernel side.
My strategy here is to define _ARM_ARCH_BE8 macro in arm/cdefs.h, if __ARMEB__ && _ARM_ARCH_6.
Use this macro to determine whether system is compiled for and running on BE8 mode or not.
Note that, for __ARMEB__, some conditions become compile-time constants determined by _ARM_ARCH_BE8 macro, e.g., whether BE8 or BE32 are accepted as a userland binary, or unaligned memory access is possible or not.
|
1.138 |
| 30-Oct-2020 |
skrll | branches: 1.138.2; Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.
|
1.137 |
| 28-Aug-2020 |
skrll | Use C rather than assembly
|
1.136 |
| 10-Jul-2020 |
skrll | Add support for KASAN on ARMv[67]
Thanks to maxv for many pointers and reviews.
|
1.135 |
| 21-Jun-2020 |
jmcneill | Add support for installing modules that were loaded by the bootloader.
|
1.134 |
| 20-Jun-2020 |
skrll | KNF
|
1.133 |
| 18-Apr-2020 |
skrll | PMAP_DEBUG has been deleted on arm
|
1.132 |
| 15-Feb-2020 |
skrll | branches: 1.132.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}
|
1.131 |
| 02-Feb-2020 |
skrll | KNF. One #include <sys/atomic.h> is enough
|
1.130 |
| 27-Dec-2019 |
msaitoh | branches: 1.130.2; s/sucess/success/ in comment.
|
1.129 |
| 18-Dec-2019 |
riastradh | New function cpu_startup_hook on arm.
Called at end of cpu_startup. Can be defined in, e.g., evbarm to do additional stuff after cpu_startup. Defined as a weak alias to a function that does nothing, so optional.
ok jmcneill
|
1.128 |
| 10-May-2019 |
skrll | branches: 1.128.2; Fix a printf
|
1.127 |
| 04-Feb-2019 |
skrll | Report hatched value after the atomic_or so the VERBOSE_INIT_ARM output doesn't get mangled.
We start a cpu and wait for it before progressing now.
|
1.126 |
| 21-Jan-2019 |
skrll | Wrong long lined comment
|
1.125 |
| 03-Jan-2019 |
skrll | Start CPUs more like aarch64 by using a cpu_mpidr array (if populated) to map MPIDRs to an index for each CPU.
Towards big.LITTLE support.
|
1.124 |
| 19-Oct-2018 |
skrll | Fix build for non-generic start kernels
|
1.123 |
| 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.122 |
| 14-Oct-2018 |
skrll | Use __nothing
|
1.121 |
| 12-Oct-2018 |
jmcneill | Add optional ap_startup callback to struct arm_platform. This allows for late (post-UVM init) initialization of platform specific stuff.
|
1.120 |
| 22-Aug-2018 |
skrll | Use banner
|
1.119 |
| 15-Aug-2018 |
skrll | G/C
|
1.118 |
| 05-Aug-2018 |
skrll | Add prefixes to struct arm_platform{,_info} members.
No functional change.
|
1.117 |
| 05-Aug-2018 |
skrll | Refactor code to split aarch{32,64} kernel page tables and VM setup. This will help re-build the kernel page tables on aarch64 with correct section mappings.
|
1.116 |
| 31-Jul-2018 |
skrll | Define and use VPRINTF
|
1.115 |
| 31-Oct-2017 |
martin | branches: 1.115.2; 1.115.4; Allow architectures to define a macro PROC_MACHINE_ARCH(P) and PROC_MACHINE_ARCH32(P) to override the value for sysctl hw.machine_arch (native and netbsd32 commpat resp.).
Use these for arm and mips instead of the (not working, noisy, in case of arm) sysctl override and #ifdef __mips__ in architecture neutral code.
|
1.114 |
| 02-Jul-2017 |
skrll | Consistency around the user trapframe for all LWPs and there's no need to keep assigning it in kernel entry points.
|
1.113 |
| 02-Jul-2017 |
skrll | Trailing whitespace
|
1.112 |
| 16-Jul-2016 |
mrg | apply some #if (ARM_MMU_V6 + ARM_MMU_V7) != 0. now this builds on pre v6-only.
|
1.111 |
| 15-Jul-2016 |
skrll | Provide a mm_md_page_color and fix some kernel builds
|
1.110 |
| 30-Apr-2016 |
ryo | branches: 1.110.2; * fix checking physical address range. on some arm devices, physical memory doesn't start from 0x00000000. * allow /dev/mem to read/write memory mapped I/O area depending on kauth.
|
1.109 |
| 11-Apr-2015 |
bouyer | Handle boot option -x (alias 'debug') and set AB_DEBUG in boothowto.
|
1.108 |
| 19-Nov-2014 |
martin | branches: 1.108.2; Add a machdep.unaligned_sigbus sysctl (just like alpha does), but on arm it is readonly (depends on architecture version).
|
1.107 |
| 29-Oct-2014 |
skrll | Sprinkle #include "opt_multiprocessor.h"
|
1.106 |
| 25-Oct-2014 |
skrll | Remove katelib.h and references to it.
{Read,Write}{Word,Byte} macros are provided in the files that still use them. Someone(tm) should convert them to bus_space(9)
|
1.105 |
| 19-May-2014 |
rmind | branches: 1.105.2; Implement MI IPI interface with cross-call support.
|
1.104 |
| 11-Apr-2014 |
matt | Add a kernel for the CUBIETRUCK (CUBIEBOARD3). Allow direct mapping of all memory (but for now allow the memory mapped above KERNEL_BASE to used for poolpages).
|
1.103 |
| 05-Apr-2014 |
matt | If using arm32_kvminit, don't bother mapping msgbuf since it's already mapped.
|
1.102 |
| 28-Mar-2014 |
matt | branches: 1.102.2; Various MP changes.
|
1.101 |
| 03-Mar-2014 |
matt | Add most of the cpu_* variables to <arm/locore.h> Add and initialize cpu_synchprim_present
|
1.100 |
| 25-Feb-2014 |
pooka | Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before the sysctl link sets are processed, and remove redundancy.
Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate lines of code.
|
1.99 |
| 11-Jan-2014 |
matt | Add hw.printfataltraps sysctl. Always print fatal traps for init. For all other processes, only do so if cpu_printfataltraps is true.
|
1.98 |
| 10-Sep-2013 |
matt | Support an optional MARCH ELF tag. Store the MACHINE_ARCH of the executable in mdproc and override sysctl so that value returned.
|
1.97 |
| 07-Sep-2013 |
matt | Add a machdep.hwdiv_present sysctl (cortex A7 and A15 have hwdiv instructions)
|
1.96 |
| 18-Aug-2013 |
matt | Move parts of cpu.h that are not needed by MI code in <arm/locore.h> Don't include <machine/cpu.h> or <machine/frame.h>, use <arm/locore.h> Use <arm/asm.h> instead of <machine/arm.h>
|
1.95 |
| 15-Aug-2013 |
matt | Fix tpyo.
|
1.94 |
| 12-Jun-2013 |
matt | branches: 1.94.2; 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.93 |
| 12-Jun-2013 |
matt | Add support for the VBAR (vector base address register) to remap the vectors into the kernel text segment. This register is available on arm1176 and all cortex processors since they all have the arm security (trustzone) extension. We avoid having to specially map either vector page (0x00000000 or 0xffff0000) and use VBAR to both to page0rel in the text segment. These vector group differs from the normal page0, that since it's in the kernel, it can branch directly to the exception routine, instead of loading the address into the PC. This should result in a tiny improvement in speed since we eliminate a TLB mapping the vector page and a load on every exception.
XXX Add __HAVE_ARM_TRUSTZONE cpp define and use that to eliminate all code have to do with manipulating the vector page.
|
1.92 |
| 03-Feb-2013 |
matt | Add a machdep.cpu_arch sysctl
|
1.91 |
| 31-Jan-2013 |
matt | Add simple sysctls for cpu_id, fpu_id, neon_present, simd_present, simdex_present. Add struct sysctls to return the isar, mmfr, pfr, and mvfr sets.
|
1.90 |
| 28-Jan-2013 |
matt | Add a machdep.fpu_present sysctl for ld.elf_so to use in ld.so.conf to load libc_vfp.so.
|
1.89 |
| 19-Jan-2013 |
skrll | Add -d as a synonym for getting into DDB to match other ports.
|
1.88 |
| 31-Dec-2012 |
jmcneill | reset todr clock on shutdown
|
1.87 |
| 10-Dec-2012 |
matt | add mm_md_direct_mapped_phys
|
1.86 |
| 10-Dec-2012 |
matt | Rename pcb_sp/PCB_SP to pcb_ksp/PCB_KSP so that ipsec.c will compile.
|
1.85 |
| 27-Oct-2012 |
chs | split device_t/softc for all remaining drivers. replace "struct device *" with "device_t". use device_xname(), device_unit(), etc.
|
1.84 |
| 16-Sep-2012 |
rmind | Rename kcpuset_copybits() to kcpuset_export_u32() and thus be more specific about the interface.
|
1.83 |
| 31-Aug-2012 |
matt | branches: 1.83.2; Make cpu_reset, most of initarm and the kvm init code common. Add MP hooks for cpu_need_resced Add idlestck which is allocated in arm32_kvminit
|
1.82 |
| 16-Aug-2012 |
matt | Move the standard definitions of the {UND,IRQ,FIQ,ABT}_STACK_SIZE to <arm32/machdep.h> Move the extern for cpu_reset_address to the same file. Add cpu_reset_address_paddr. Kill cpu_reset_v4_MMU_disable. if cpu_reset_address is NULL, then the MMU will be disabled.
|
1.81 |
| 16-Aug-2012 |
matt | small rototill. pcb_flags is dead. PCB_NOALIGNFLT is now in stored l_md.md_flags as MDLWP_NOALIGNFLT. This avoids a few loads of the PCB in exception handling. pcb_tf has been moved to l_md.md_tf. Again this avoids a lot of pcb references just to access or set this. It also means that pcb doesn't need to accessed by MI code. Move pcb_onfault to after the pcb union. Add pcb_sp macro to make code prettier. Add lwp_settrapframe(l, tf) to set the l_md.md_tf field. Use lwp_trapframe to access it (was process_frame but that name was changed in a previous commit). Kill off curpcb in acorn26. Kill the checks for curlwp being NULL. Move TRAP_USERMODE from arm32/fault.c to frame.h and a __PROG26 version. Replace tests for usermode with that macro.
|
1.80 |
| 14-Aug-2012 |
matt | Kill curpcb/ci_curpcb. Use device_t in cpu_info. Add ci_softc (where ci_curpcb was so cpu_info doesn't change).
|
1.79 |
| 29-Jul-2012 |
matt | Fix more -fno-common fallout. Move more variables to common locations.
|
1.78 |
| 16-Jul-2012 |
skrll | Make the result from SOFTIPLMASK match the comment.
"Wouldn't hurt" from matt@
|
1.77 |
| 16-Jul-2012 |
skrll | Fix racy softint dispatch that lead to KASSERT(si->si_active) in softint_execute
Discussed with matt@. "Looks good to me"
|
1.76 |
| 30-Jun-2011 |
wiz | branches: 1.76.2; 1.76.8; dependant -> dependent
|
1.75 |
| 12-Jun-2011 |
rmind | 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.
|
1.74 |
| 28-Nov-2010 |
hannken | branches: 1.74.6; As md(4) no longer has "needs-count" there is no "md.h" anymore. Remove the inclusion of this file.
Acorn32 now always builds load_memory_disc_from_floppy(). This should not be a problem as all configs have md(4).
Observed by: Masao Uebayashi <uebayasi@netbsd.org>
|
1.73 |
| 08-Feb-2010 |
joerg | branches: 1.73.2; Remove separate mb_map. The nmbclusters is computed at boot time based on the amount of physical memory and limited by NMBCLUSTERS if present. Architectures without direct mapping also limit it based on the kmem_map size, which is used as backing store. On i386 and ARM, the maximum KVA used for mbuf clusters is limited to 64MB by default.
The old default limits and limits based on GATEWAY have been removed. key_registered_sb_max is hard-wired to a value derived from 2048 clusters.
|
1.72 |
| 18-Jan-2010 |
jmmv | branches: 1.72.2; Define an empty module_init_md function so that kernels with 'options MODULAR' can be built (at least in shark). Still not working due to some relocations resolving to too far away symbols though.
|
1.71 |
| 29-Nov-2009 |
rmind | Replace l_addr with uvm_lwp_getuarea() in various MD code, mostly cpu_lwp_fork().
|
1.70 |
| 27-Nov-2009 |
rmind | - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr. - Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb(). - Amend assembly in ports where it accesses PCB via struct user. - Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
|
1.69 |
| 26-Nov-2009 |
matt | Kill proc0paddr. Use lwp0.l_addr instead.
|
1.68 |
| 21-Nov-2009 |
rmind | Use lwp_getpcb() on ARM (and acorn26/32), clean from struct user usage.
|
1.67 |
| 07-Nov-2009 |
cegger | Add a flags argument to pmap_kenter_pa(9). Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html No objections.
|
1.66 |
| 11-Aug-2009 |
matt | Remove all declarations of physmem from sys/arch. Add an include of <sys/systm.h> to the one file that did not already contain it. This now means that physmem can be changed by updating systm.h and uvm_page.c (excluding fixing printfs)
|
1.65 |
| 15-Mar-2009 |
cegger | ansify function definitions
|
1.64 |
| 14-Mar-2009 |
dsl | Change about 4500 of the K&R function definitions to ANSI ones. There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle. There are also many that need () -> (void). (The script does handle misordered arguments.)
|
1.63 |
| 14-Mar-2009 |
dsl | Remove all the __P() from sys (excluding sys/dist) Diff checked with grep and MK1 eyeball. i386 and amd64 GENERIC and sys still build.
|
1.62 |
| 17-Jan-2009 |
bjh21 | branches: 1.62.2; Remove the implementation of cpu_intr_p() from here now that it's in arm/arm_machdep.h. Should fix builds on arm32 platforms. Thanks to Matt Fleming for reporting the problem.
|
1.61 |
| 16-Jan-2009 |
bjh21 | cpu_info_store, machine, and machine_arch can all be shared by acorn26 and arm32, so share them.
|
1.60 |
| 16-Jan-2009 |
bjh21 | acorn26 and arm32 have identical versions of cpu_need_resched(). Unify them. Similarly, with a small tweak acorn26 can use the same cpu_intr_p() as arm32, so those can be unified too.
|
1.59 |
| 19-Nov-2008 |
matt | Fix __HAVE_FAST_SOFTINTS (boolean dyslexia strikes again). Add some KASSERTS to make sure assumptions are valid.
|
1.58 |
| 07-Aug-2008 |
matt | branches: 1.58.2; 1.58.8; Commit missing part of __HAVE_FAST_SOFTINTS support.
|
1.57 |
| 02-Jul-2008 |
ad | branches: 1.57.2; Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
|
1.56 |
| 27-Apr-2008 |
matt | branches: 1.56.2; 1.56.4; Merge kernel changes in matt-armv6 to HEAD.
|
1.55 |
| 19-Jan-2008 |
chris | branches: 1.55.6; 1.55.8; 1.55.10; With the removal of IPKDB on arm, the undefined stack is only used to bounce into SVC32 mode, there is no per-process data stored on it.
We can therefore use the undefined stack setup by the platform machdep.c as a system wide undefined stack.
This removes the need for a per-process undefined stack, and the processor mode switching overhead it causes in cpu_switchto.
The space freed in the USPACE is used to increase the per process kernel stack size.
|
1.54 |
| 19-Jan-2008 |
chris | Remove arm support for IPKDB.
It hasn't worked since arm was broken out from arm32 in Jan 2001, and no-one has noticed or cared to fix it.
|
1.53 |
| 16-Dec-2007 |
mrg | move the arm32 cpu_intr_p() function into arm32_machdep.c from arm_machdep.c. this lets acorn26 link again.
|
1.52 |
| 17-Oct-2007 |
garbled | branches: 1.52.2; 1.52.4; 1.52.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.
|
1.51 |
| 02-Oct-2007 |
ad | Make want_resched a member of cpu_info.
|
1.50 |
| 15-Sep-2007 |
scw | branches: 1.50.2; ARM cpu_switchto() has been partially broken since yamt-idlelwp was merged as its cache/tlb management smarts relied too heavily on pre-merge context- switch behaviour. See PR kern/36548 for one manifestation of the breakage.
To address this: - Ditch the shadow pmap variables in the PCB (pagedir, l1vec, dacr, cstate) as it was too easy for them to get out of sync with the pmap. - Re-write (and fix) the convoluted cpuswitch.S cache/tlb ASM code in C. It's only slightly less efficient, but is much more readable/maintainable. - Document cpufuncs.cf_context_switch() as being C-callable. - pmap_activate() becomes a no-op if the lwp's vmspace is already active. (Good performance win, since pmap_activate() is now invoked on every context-switch, even though ARM's cpu_switchto() already does all the grunt work)
XXX: Some CPU-specific armXX_context_switch() implementations (arm67, arm7tdmi, arm8) always flush the I+D caches. This should not be necessary. Someone with access to hardware (acorn32?) needs to deal with this.
|
1.49 |
| 17-May-2007 |
yamt | branches: 1.49.6; 1.49.8; 1.49.10; 1.49.12; 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.
|
1.48 |
| 04-Mar-2007 |
christos | branches: 1.48.2; 1.48.4; 1.48.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.47 |
| 22-Feb-2007 |
thorpej | TRUE -> true, FALSE -> false
|
1.46 |
| 11-Dec-2005 |
christos | branches: 1.46.26; merge ktrace-lwp.
|
1.45 |
| 25-Apr-2005 |
lukem | branches: 1.45.2; Move the MI printing of `copyright' to the MD cpu_startup() code where the printing of `version' is already performed. This has the benefit of allowing the copyright to be available via dmesg(8) on platforms which need the `msgbuf' to be setup in cpu_startup() before printed output is remembered.
|
1.44 |
| 24-Mar-2004 |
atatat | branches: 1.44.8; Tango on sysctl_createv() and flags. The flags have all been renamed, and sysctl_createv() now uses more arguments.
|
1.43 |
| 13-Feb-2004 |
wiz | Uppercase CPU, plural is CPUs.
|
1.42 |
| 30-Dec-2003 |
pk | Replace the traditional buffer memory management -- based on fixed per buffer virtual memory reservation and a private pool of memory pages -- by a scheme based on memory pools.
This allows better utilization of memory because buffers can now be allocated with a granularity finer than the system's native page size (useful for filesystems with e.g. 1k or 2k fragment sizes). It also avoids fragmentation of virtual to physical memory mappings (due to the former fixed virtual address reservation) resulting in better utilization of MMU resources on some platforms. Finally, the scheme is more flexible by allowing run-time decisions on the amount of memory to be used for buffers.
On the other hand, the effectiveness of the LRU queue for buffer recycling may be somewhat reduced compared to the traditional method since, due to the nature of the pool based memory allocation, the actual least recently used buffer may release its memory to a pool different from the one needed by a newly allocated buffer. However, this effect will kick in only if the system is under memory pressure.
|
1.41 |
| 13-Dec-2003 |
rearnsha | The machdep.debug sysctl variable uses code CPU_DEBUG (not CPU_CONSDEV).
|
1.40 |
| 12-Dec-2003 |
atatat | The machdep.debug node is an int, not a struct
|
1.39 |
| 04-Dec-2003 |
atatat | Dynamic sysctl.
Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(), vfs_sysctl(), etc, routines, along with sysctl_int() et al. Now all nodes are registered with the tree, and nodes can be added (or removed) easily, and I/O to and from the tree is handled generically.
Since the nodes are registered with the tree, the mapping from name to number (and back again) can now be discovered, instead of having to be hard coded. Adding new nodes to the tree is likewise much simpler -- the new infrastructure handles almost all the work for simple types, and just about anything else can be done with a small helper function.
All existing nodes are where they were before (numerically speaking), so all existing consumers of sysctl information should notice no difference.
PS - I'm sorry, but there's a distinct lack of documentation at the moment. I'm working on sysctl(3/8/9) right now, and I promise to watch out for buses.
|
1.38 |
| 21-Sep-2003 |
matt | Change some type-punning detected by gcc 3.3.1 to (void *).
|
1.37 |
| 15-Jul-2003 |
lukem | __KERNEL_RCSID()
|
1.36 |
| 29-Jun-2003 |
fvdl | branches: 1.36.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
1.35 |
| 29-Jun-2003 |
ichiro | struct proc * -> struct lwp *
ixp425_com: add some status flags
|
1.34 |
| 04-Jun-2003 |
simonb | Remove prototype for strtoul() that was in the wrong place.
|
1.33 |
| 21-May-2003 |
thorpej | Remove #ifdefs supporting the old pmap, switching fully to the new.
|
1.32 |
| 18-Apr-2003 |
thorpej | Add a comment indicating that the current method of enabling high vectors requires that the CPU control vector be properly readable. I believe that all CPUs that have high vector support have a readable CPU control register, but if we ever encounter one that does not, then we'll have to adjust this code.
|
1.31 |
| 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.30 |
| 18-Apr-2003 |
scw | In arm32_vector_init(), if the vector page is ARM_VECTORS_HIGH, make sure the CPU_CONTROL_VECRELOC bit is set in the cpu control register before returning.
|
1.29 |
| 01-Apr-2003 |
thorpej | Use PAGE_SIZE rather than NBPG.
|
1.28 |
| 23-Feb-2003 |
thorpej | Change pcb32_pagedir to a paddr_t (after all, it's used as a paddr_t everywhere in the code).
|
1.27 |
| 17-Jan-2003 |
thorpej | Merge the nathanw_sa branch.
|
1.26 |
| 25-Aug-2002 |
thorpej | Make nbuf, nswbuf, and bufpages unsigned. Make all operations on these variables unsigned, and update places where their values are printed.
|
1.25 |
| 16-Aug-2002 |
thorpej | * Add a new machdep.powersave sysctl, which controls the use of the CPU's "sleep" function in the idle loop. * Default all CPUs to not use powersave, except for the PDA processors (SA11x0 and PXA2x0).
This significantly reduces inteterrupt latency in high-performance applications (and was good to squeeze another ~10% out of an XScale IOP on a Gig-E benchmark).
|
1.24 |
| 05-May-2002 |
jdolecek | branches: 1.24.2; Update to md(4) changes: memory_disk_size is now md_root_size, and type is size_t
|
1.23 |
| 10-Apr-2002 |
thorpej | Remove the Control register handling from arm32_vector_init(). Apparently, the ARM6 and ARM7 do completely the wrong thing if you read this register, so we have to handle this a different way.
|
1.22 |
| 03-Apr-2002 |
thorpej | Clean up handling of the vector page on 32-bit ARM systems: * Don't refer to VA 0, instead refer to a new variable: vector_page * Delete the old zero_page_*() functions, replacing them with a new one: vector_page_setprot(). * When manipulating vector page mappings in user pmaps, only do so if the vector page is below KERNEL_BASE (if it's above KERNEL_BASE, the vector page is mapped by the kernel pmap). * Add a new function, arm32_vector_init(), which takes the virtual address of the vector page (which MUST be valid when the function is called) and a bitmask of vectors the kernel is going to take over, and performs all vector page initialization, including setting the V bit in the CPU Control register ("relocate vectors to high address"), if necessary.
|
1.21 |
| 02-Apr-2002 |
lukem | Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE, which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as being more consistent with what it's controlling...
|
1.20 |
| 24-Mar-2002 |
thorpej | * arm_byte_to_page() -> arm_btop() * arm_page_to_byte() -> arm_ptob()
|
1.19 |
| 23-Mar-2002 |
thorpej | Garbage-collect the "pagehook" stuff.
|
1.18 |
| 23-Mar-2002 |
thorpej | * Rename PROCESS_PAGE_TBLS_BASE -> PTE_BASE * Rename ALT_PAGE_TBLS_BASE -> APTE_BASE * Garbage-collect PAGE_TABLE_SPACE_START
|
1.17 |
| 10-Mar-2002 |
lukem | * rename MINIROOTSIZE to MEMORY_DISK_SIZE, so that all md(4) options are now consistently named * fold opt_mdsize.h into opt_md.h
|
1.16 |
| 21-Feb-2002 |
thorpej | map_chunk() -> pmap_map_chunk(), and move it to pmap.c
|
1.15 |
| 20-Feb-2002 |
thorpej | map_pagetable() -> pmap_link_l2pt(), and move it to pmap.c
|
1.14 |
| 20-Feb-2002 |
thorpej | Collapse map_entry{,ro,nc}() into a single pmap_map_entry() that takes a prot and a "cacheable" indicator.
|
1.13 |
| 20-Feb-2002 |
thorpej | Rename map_section() to pmap_map_section(), move it to pmap.c, and give it an extra argument (prot - specifies protection of the mapping).
|
1.12 |
| 10-Feb-2002 |
reinoud | Add some extra comments for the `booted_kernel' variable.
|
1.11 |
| 20-Jan-2002 |
thorpej | Some prototype cleanup.
|
1.10 |
| 12-Jan-2002 |
chris | Make GENERIC cats kernel boot again. By allocating a 2nd second level page table for the kernel and stack space we can now have to 8MB of kernel and stacks (if the kernel ever gets really bloated might need to add a 3rd!) Also update the funcs in arm32_machdep.c that create the entries so that on cats they expect the 2 pagetables to be contiguous, note this means that for now cats is special cased in lots of funcs. I'll tidy this up to something a bit more sane soon, to avoid the multitude of #ifndef cats that I had to sprinkle in.
|
1.9 |
| 05-Jan-2002 |
chris | Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
|
1.8 |
| 23-Nov-2001 |
thorpej | No need to pull in <machine/pte.h> directly.
|
1.7 |
| 22-Nov-2001 |
thorpej | Kill <machine/katelib.h>. Any place that still uses it should just reference <arm/arm32/katelib.h> until such time as all use of this file has been purged from the face of the earth.
|
1.6 |
| 27-Oct-2001 |
rearnsha | branches: 1.6.2; When creating section maps, use pte_cache_mode for setting the page attributes of cacheable pages.
|
1.5 |
| 10-Sep-2001 |
chris | branches: 1.5.2; Update pmap_update to now take the updated pmap as an argument. This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.
Currently this is a no-op on most platforms, so they should see no difference.
Reviewed by Jason.
|
1.4 |
| 09-Sep-2001 |
toshii | Don't define pcb_* register macros. pcb_sp macro conflicts with sys/netinet6/ipsec.c.
|
1.3 |
| 11-Aug-2001 |
chris | branches: 1.3.2; Make use of pmap_kenter instead of pmap_enter for kernel buffers.
|
1.2 |
| 28-Jul-2001 |
chris | branches: 1.2.2; A couple of tidy ups to pmap: pmap_t -> struct pmap * in pmap.c and pmap.h kernel_pmap -> pmap_kernel() everywhere.
Compiled and booted on riscpc and cats.
|
1.1 |
| 28-Jul-2001 |
chris | Move the generic arm32 files into arm/arm32 from arm32/arm32, tested kernel builds on cats and riscpc.
|
1.2.2.9 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.2.2.8 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.2.2.7 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.2.2.6 |
| 11-Feb-2002 |
jdolecek | Sync w/ -current.
|
1.2.2.5 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.2.2.4 |
| 13-Sep-2001 |
thorpej | Update the kqueue branch to HEAD.
|
1.2.2.3 |
| 25-Aug-2001 |
thorpej | Merge Aug 24 -current into the kqueue branch.
|
1.2.2.2 |
| 03-Aug-2001 |
lukem | update to -current
|
1.2.2.1 |
| 28-Jul-2001 |
lukem | file arm32_machdep.c was added on branch kqueue on 2001-08-03 04:10:57 +0000
|
1.3.2.1 |
| 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.5.2.1 |
| 12-Nov-2001 |
thorpej | Sync the thorpej-mips-cache branch with -current.
|
1.6.2.10 |
| 27-Aug-2002 |
thorpej | Sync with -current.
|
1.6.2.9 |
| 19-Aug-2002 |
thorpej | Partial (ARM only) sync with trunk -- significant performance improvements for XScale-based systems.
|
1.6.2.8 |
| 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.6.2.7 |
| 17-Apr-2002 |
nathanw | Catch up to -current.
|
1.6.2.6 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.6.2.5 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.6.2.4 |
| 11-Jan-2002 |
nathanw | More catchup.
|
1.6.2.3 |
| 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.6.2.2 |
| 15-Nov-2001 |
thorpej | Machine-dependent kernel mods for scheduler activations on 32-bit ARM processors. Kernel boots multi-user on an XScale, but upcalls not yet tested.
|
1.6.2.1 |
| 27-Oct-2001 |
thorpej | file arm32_machdep.c was added on branch nathanw_sa on 2001-11-15 06:39:21 +0000
|
1.24.2.1 |
| 30-Aug-2002 |
gehenna | catch up with -current.
|
1.36.2.5 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.36.2.4 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.36.2.3 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.36.2.2 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.36.2.1 |
| 02-Jul-2003 |
wrstuden | Check in lwp-ification changes needed to get the evbarm/IQ80321 kernel to compile.
only question I have is over the: l->l_proc->p_stats->p_ru.ru_msgsnd++; command at line 245 of dev/kttcp.c. Should we be doing per-lwp or per-proc accounting?
|
1.44.8.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.45.2.4 |
| 21-Jan-2008 |
yamt | sync with head
|
1.45.2.3 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.45.2.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.45.2.1 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.46.26.3 |
| 29-Mar-2007 |
skrll | Adapt arm32. Thanks to scw for helping out.
Tested on my cats (SA1)
XXX hydra should die. i've made some changes, but no guarantees.
|
1.46.26.2 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.46.26.1 |
| 27-Feb-2007 |
yamt | - sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
|
1.48.10.2 |
| 03-Oct-2007 |
garbled | Sync with HEAD
|
1.48.10.1 |
| 22-May-2007 |
matt | Update to HEAD.
|
1.48.4.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.48.2.2 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.48.2.1 |
| 27-May-2007 |
ad | Sync with head.
|
1.49.12.7 |
| 23-Mar-2008 |
matt | Restore $NetBSD$
|
1.49.12.6 |
| 23-Mar-2008 |
matt | fix typo.
|
1.49.12.5 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.49.12.4 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.49.12.3 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.49.12.2 |
| 29-Aug-2007 |
matt | Initial cpu_info_store.ci_lwp to &lwp0
|
1.49.12.1 |
| 28-Aug-2007 |
matt | Deal with want_resched move to cpu_info
|
1.49.10.2 |
| 20-Jan-2008 |
chris | Sync to HEAD.
|
1.49.10.1 |
| 01-Jan-2008 |
chris | Sync with HEAD.
|
1.49.8.1 |
| 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.49.6.4 |
| 28-Feb-2008 |
rjs | Sync with HEAD.
|
1.49.6.3 |
| 26-Dec-2007 |
rjs | Sync with HEAD.
|
1.49.6.2 |
| 01-Nov-2007 |
rjs | Sync with HEAD.
|
1.49.6.1 |
| 06-Oct-2007 |
rjs | Sync with HEAD.
|
1.50.2.1 |
| 06-Oct-2007 |
yamt | sync with head.
|
1.52.8.2 |
| 20-Jan-2008 |
bouyer | Sync with HEAD
|
1.52.8.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.52.4.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.52.2.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.55.10.4 |
| 11-Mar-2010 |
yamt | sync with head
|
1.55.10.3 |
| 19-Aug-2009 |
yamt | sync with head.
|
1.55.10.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.55.10.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.55.8.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.55.6.4 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.55.6.3 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.55.6.2 |
| 02-Jul-2008 |
mjf | Sync with HEAD.
|
1.55.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.56.4.1 |
| 03-Jul-2008 |
simonb | Sync with head.
|
1.56.2.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.57.2.2 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.57.2.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.58.8.1 |
| 15-Feb-2014 |
matt | Merge armv7 support from HEAD, specifically support for the BCM5301X and BCM56340 evbarm kernels.
|
1.58.2.2 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.58.2.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.62.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.72.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.73.2.3 |
| 05-Mar-2011 |
rmind | sync with head
|
1.73.2.2 |
| 25-Apr-2010 |
rmind | A round of compile and other fixes to previous.
|
1.73.2.1 |
| 18-Mar-2010 |
rmind | Unify /dev/{mem,kmem,zero,null} implementations in MI code. Based on patch from Joerg Sonnenberger, proposed on tech-kern@, in February 2008.
Work and depression still in progress.
|
1.74.6.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.76.8.1 |
| 09-Aug-2012 |
jdc | branches: 1.76.8.1.2; Pull up revisions: src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4 src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65 src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40 src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14 src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11 src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2 src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108 src/sys/arch/arm/arm32/cpu.c revision 1.79 src/sys/arch/arm/include/armreg.h revisions 1.49,1.54 src/sys/arch/arm/arm32/pmap.c revision 1.229 src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77 src/sys/arch/arm/include/cpu.h revision 1.64 src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3 src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1 src/sys/arch/arm/conf/files.arm revision 1.106 src/sys/arch/arm/include/cpufunc.h revision 1.57 src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24 src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8 src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4 src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69 src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1 src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1 src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1 src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1 src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1 src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1 src/sys/arch/evbarm/Makefile revision 1.9 src/sys/arch/evbarm/conf/RPI revision 1.1 src/sys/arch/evbarm/conf/files.rpi revision 1.1 src/sys/arch/evbarm/conf/mk.rpi revision 1.1 src/sys/arch/evbarm/conf/std.rpi revision 1.1 src/sys/arch/evbarm/rpi/genassym.cf revision 1.1 src/sys/arch/evbarm/rpi/rpi.h revision 1.1 src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1 src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2 src/etc/etc.evbarm/Makefile.inc revision 1.28 (requested by skrll in ticket #454).
don't mix #define<TAB> and #define<SPACE> in a file.
avoid warning with options PLCOM_DEBUG for INTEGRATOR.
Rename register values. No functional change - same code before and after.
Existing names are prefixed with PL01X_ where they're common between the PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're found only on the respective chips.
Replace the simple_lock with a kmutex_t. Update the locking to match com(4) in the few places it didn't already.
DOH. Replace a line that got accidently deleted in the last commit.
device_t/softc split struct device * -> device_t struct cfdata * -> cfdata_t
Add the 'Z' to the 1176 cpu product name.
ok matt@
Fix locking botch introduced in 1.36.
Fix a KASSERT. From/OK'ed by matt@
Fix racy softint dispatch that lead to KASSERT(si->si_active) in softint_execute
Discussed with matt@. "Looks good to me"
Add the documented ARM11[37]6 Auxiliary control register defines.
Add support for the ARM1176JZS
Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).
Provide a method for attachments to specify capabilites.
Add support for the PL011 to plcom. Pull across a bunch of fixes from com(4) while I'm here and do some other tidyup.
Tested on a RaspberryPi.
PL010 not tested.
Initial commit of support for the RaspberryPI (www.raspberrypi.org)
This is enough for serial console via the gpio header pins and to get to multiuser.
A huge thank you to Matt Thomas for all his help.
Add RPI to KERNEL_SETS
Remove #if 0 code.
|
1.76.8.1.2.1 |
| 28-Nov-2012 |
matt | Merge improved arm support (especially Cortex) from HEAD including OMAP and BCM53xx support.
|
1.76.2.4 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.76.2.3 |
| 23-Jan-2013 |
yamt | sync with head
|
1.76.2.2 |
| 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.76.2.1 |
| 30-Oct-2012 |
yamt | sync with head
|
1.83.2.5 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.83.2.4 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.83.2.3 |
| 23-Jun-2013 |
tls | resync from head
|
1.83.2.2 |
| 25-Feb-2013 |
tls | resync with head
|
1.83.2.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.94.2.2 |
| 18-May-2014 |
rmind | sync with head
|
1.94.2.1 |
| 28-Aug-2013 |
rmind | sync with head
|
1.102.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.105.2.1 |
| 09-Nov-2014 |
martin | Pull up following revision(s) (requested by skrll in ticket #188): sys/arch/arm/include/arm32/pmap.h: revision 1.136 sys/arch/arm/include/armreg.h: revision 1.100 sys/arch/arm/cortex/gic.c: revision 1.11 sys/arch/arm/arm32/db_interface.c: revision 1.54 sys/arch/arm/include/armreg.h: revision 1.101 sys/arch/arm/cortex/gic.c: revision 1.12 sys/arch/arm/arm32/arm32_machdep.c: revision 1.107 sys/arch/arm/arm/cpufunc_asm_armv7.S: revision 1.19 sys/arch/arm/cortex/a9_mpsubr.S: revision 1.20 sys/arch/evbarm/conf/BPI: revision 1.5 sys/arch/arm/cortex/a9_mpsubr.S: revision 1.21 sys/arch/arm/arm32/pmap.c: revision 1.306 sys/arch/arm/arm32/db_machdep.c: revision 1.22 sys/arch/arm/arm32/arm32_tlb.c: revision 1.3 sys/arch/arm/arm/undefined.c: revision 1.55 sys/arch/arm/cortex/a9_mpsubr.S: revision 1.22 sys/arch/arm/arm32/pmap.c: revision 1.307 sys/arch/arm/arm32/arm32_tlb.c: revision 1.4 sys/arch/arm/cortex/a9_mpsubr.S: revision 1.23 sys/arch/arm/arm32/arm32_tlb.c: revision 1.5 sys/arch/evbarm/conf/BPI: revision 1.8 sys/arch/arm/cortex/a9_mpsubr.S: revision 1.24 sys/arch/arm/arm32/arm32_tlb.c: revision 1.6 sys/arch/arm/arm32/arm32_tlb.c: revision 1.7 sys/arch/evbarm/conf/CUBIETRUCK: revision 1.5 sys/arch/arm/pic/pic.c: revision 1.23 sys/arch/arm/pic/pic.c: revision 1.24 sys/arch/arm/pic/picvar.h: revision 1.11 sys/arch/arm/arm/cpufunc_asm_armv7.S: revision 1.20 sys/arch/arm/mainbus/cpu_mainbus.c: revision 1.16 sys/arch/arm/arm32/pmap.c: revision 1.298 sys/arch/arm/arm/cpufunc_asm_arm11.S: revision 1.17 sys/arch/arm/arm/cpufunc_asm_pj4b.S: revision 1.5 sys/arch/arm/arm32/pmap.c: revision 1.310 sys/arch/arm/arm32/pmap.c: revision 1.311 sys/arch/arm/arm32/arm32_kvminit.c: revision 1.32 sys/arch/arm/cortex/a9_mpsubr.S: revision 1.19 sys/arch/arm/arm32/arm32_boot.c: revision 1.10 sys/arch/arm/arm/ast.c: revision 1.25 sys/arch/arm/include/armreg.h: revision 1.98 sys/uvm/pmap/pmap_tlb.c: revision 1.10 sys/arch/arm/arm32/arm32_boot.c: revision 1.8 sys/arch/arm/arm32/arm32_boot.c: revision 1.9 sys/arch/arm/arm/arm_machdep.c: revision 1.43 Various ARM MP fixes.
|
1.108.2.4 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.108.2.3 |
| 05-Oct-2016 |
skrll | Sync with HEAD
|
1.108.2.2 |
| 29-May-2016 |
skrll | Sync with HEAD
|
1.108.2.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.110.2.1 |
| 26-Jul-2016 |
pgoyette | Sync with HEAD
|
1.115.4.3 |
| 21-Apr-2020 |
martin | Sync with HEAD
|
1.115.4.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.115.4.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.115.2.4 |
| 26-Jan-2019 |
pgoyette | Sync with HEAD
|
1.115.2.3 |
| 18-Jan-2019 |
pgoyette | Synch with HEAD
|
1.115.2.2 |
| 20-Oct-2018 |
pgoyette | Sync with head
|
1.115.2.1 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.128.2.1 |
| 12-Feb-2020 |
martin | Pull up following revision(s) (requested by riastradh in ticket #705):
sys/arch/aarch64/aarch64/aarch64_machdep.c: revision 1.35 sys/stand/efiboot/efifdt.c: revision 1.20 sys/stand/efiboot/efifdt.h: revision 1.7 sys/arch/aarch64/include/machdep.h: revision 1.9 sys/stand/efiboot/efiboot.h: revision 1.11 sys/arch/arm/arm32/arm32_machdep.c: revision 1.129 sys/arch/arm/include/arm32/machdep.h: revision 1.30 sys/stand/efiboot/exec.c: revision 1.12 sys/arch/evbarm/fdt/fdt_machdep.c: revision 1.65 sys/stand/efiboot/version: revision 1.14 sys/stand/efiboot/boot.c: revision 1.19
New function cpu_startup_hook on arm.
Called at end of cpu_startup. Can be defined in, e.g., evbarm to do additional stuff after cpu_startup. Defined as a weak alias to a function that does nothing, so optional. ok jmcneill
Implement rndseed support in efiboot and fdt arm.
The EFI environment variable `rndseed' specifies the path to the random seed. It is loaded only for fdt platforms at the moment. Since the rndseed (an rndsave_t object as defined in <sys/rndio.h>) is 536 bytes long (for hysterical raisins), and to avoid having to erase parts of the fdt tree, we load it into a physical page whose address is passed in the fdt tree, rather than passing the content of the file as an fdt node directly; the kernel then reserves the page from uvm, and maps it into kva to call rnd_seed.
For now, the only kernel that does use efiboot with fdt is evbarm, which knows to handle the rndseed. Any new kernels that use efiboot with fdt must do the same; otherwise uvm may hand out the page with the secret key on it for a normal page allocation in the kernel -- which should be OK if there are no kernel memory disclosure bugs, but would lead to worse consequences than simply loading the seed late in userland with /etc/rc.d/random_seed otherwise.
ok jmcneill
|
1.130.2.1 |
| 29-Feb-2020 |
ad | Sync with head.
|
1.132.4.1 |
| 20-Apr-2020 |
bouyer | Sync with HEAD
|
1.138.2.1 |
| 14-Dec-2020 |
thorpej | Sync w/ HEAD.
|