Home | History | Annotate | Download | only in nslu2
History log of /src/sys/arch/evbarm/nslu2/nslu2_machdep.c
RevisionDateAuthorComments
 1.41  12-Oct-2023  skrll Fix non-DIAGNOSTIC builds
 1.40  17-Jun-2023  rin Panic if kernel image is not fit within its VA range,
rather than silently freeze later.
 1.39  17-Jun-2023  rin Missing #endif for the previous...
 1.38  17-Jun-2023  rin Catch up with new pmap_devmap implementation.

Now, hardcoded VA's should be aligned to L1 section (1M) boundaries.
Rather, just disable ones if there's no need for statically mapping.
 1.37  14-Jun-2023  rin Make this compile again with VERBOSE_INIT_ARM.
 1.36  20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.35  17-Aug-2021  andvar branches: 1.35.4;
fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.34  18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.33  18-Apr-2020  skrll Trailing whitespace
 1.32  16-Jul-2019  skrll branches: 1.32.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.31  16-Jul-2019  skrll KNF
 1.30  28-Oct-2018  skrll Fix a commit
 1.29  21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.28  31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.27  22-Dec-2016  cherry branches: 1.27.14; 1.27.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.26  05-Mar-2015  skrll branches: 1.26.2;
Spellos
 1.25  13-Sep-2014  matt branches: 1.25.2;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.24  19-Aug-2013  matt Fix <arm/locore.h> lossage
 1.23  12-Nov-2012  skrll branches: 1.23.2;
C99 types
 1.22  22-Sep-2012  matt Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead
but add a second argument to it to indicate whether the TLB/caches need to be
flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field
to see if the fixed can be skipped.
Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1)
or enabeld (bit = 0).

With these changes, the A9 MMU can use traverse caches to do MMU tablewalks
Also, make sure all memory has the shareable bit for the A9.
 1.21  16-Aug-2012  matt branches: 1.21.2;
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.20  29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.19  01-Jul-2011  dyoung branches: 1.19.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.18  30-Jun-2011  wiz dependant -> dependent
 1.17  26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.16  26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.15  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.14  26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.13  21-Oct-2009  rmind Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
 1.12  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.11  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.10  30-Nov-2008  martin branches: 1.10.4;
As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.9  12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.8  11-Nov-2008  dyoung It is not appropriate to call pmf_system_shutdown(9) from
doshutdownhooks(9): shutdown hooks registered by shutdownhook_establish(9)
expect to be called with interrupts disabled, but shutdown hooks
registered with pmf_device_register1(9) expect to be called with
interrupts enabled. So I have made two changes:

1 Do not call pmf_system_shutdown() from doshutdownhooks(). Instead,
change every call to doshutdownhooks() to a call to doshutdownhooks()
followed by a call to pmf_system_shutdown(). No functional change
is intended by this change.

2 Make i386 re-enable interrupts briefly while it calls
pmf_system_shutdown(). I leave it to others either to fix the
other ports, or to factor out some MI shutdown code, as joerg@
suggests, and fix that. Note that a functional change *is* intended
by this change.

I hope that this patch will stop us from flip-flopping between
calling doshutdownhooks() and pmf_system_shutdown() sometimes with
and sometimes without interrupts enabled.
 1.7  28-Apr-2008  martin branches: 1.7.6; 1.7.8;
Remove clause 3 and 4 from TNF licenses
 1.6  27-Apr-2008  matt Merge kernel changes in matt-armv6 to HEAD.
 1.5  19-Jan-2008  chris branches: 1.5.6; 1.5.8; 1.5.10;
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.4  10-Dec-2006  scw branches: 1.4.20; 1.4.24; 1.4.30; 1.4.36;
Adjust watchdog reset register base.
 1.3  17-May-2006  mrg branches: 1.3.6; 1.3.10; 1.3.12; 1.3.14;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.2  11-Mar-2006  scw branches: 1.2.2; 1.2.4;
RB_POWERDOWN trumps RB_HALT.
 1.1  28-Feb-2006  scw branches: 1.1.2; 1.1.4; 1.1.6;
A port of NetBSD to the Linksys NSLU2 (a.k.a. "Slug").

The NSLU2 (Network Storage Link for USB 2.0 Disk Drives) is a small, *cheap*
NAS device consisting of an Intel IXP420 (Xscale) CPU, a 10/100mbit Ethernet
port, and two USB 2.0 ports. It has 32MB of SDRAM and 8MB of Flash memory,
and runs RedBoot/Linux out of the box. Now it can also run NetBSD.
 1.1.6.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.1.4.2  24-May-2006  yamt sync with head.
 1.1.4.1  13-Mar-2006  yamt sync with head.
 1.1.2.2  01-Mar-2006  yamt sync with head.
 1.1.2.1  28-Feb-2006  yamt file nslu2_machdep.c was added on branch yamt-uio_vmspace on 2006-03-01 09:27:46 +0000
 1.2.4.3  01-Jun-2006  kardel Sync with head.
 1.2.4.2  22-Apr-2006  simonb Sync with head.
 1.2.4.1  11-Mar-2006  simonb file nslu2_machdep.c was added on branch simonb-timecounters on 2006-04-22 11:37:24 +0000
 1.2.2.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.3.14.1  18-Dec-2006  yamt sync with head.
 1.3.12.2  09-Sep-2006  rpaulo sync with head
 1.3.12.1  17-May-2006  rpaulo file nslu2_machdep.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:38:55 +0000
 1.3.10.1  12-Jan-2007  ad Sync with head.
 1.3.6.4  21-Jan-2008  yamt sync with head
 1.3.6.3  30-Dec-2006  yamt sync with head.
 1.3.6.2  21-Jun-2006  yamt sync with head.
 1.3.6.1  17-May-2006  yamt file nslu2_machdep.c was added on branch yamt-lazymbuf on 2006-06-21 14:50:54 +0000
 1.4.36.1  20-Jan-2008  bouyer Sync with HEAD
 1.4.30.1  18-Feb-2008  mjf Sync with HEAD.
 1.4.24.2  23-Mar-2008  matt sync with HEAD
 1.4.24.1  28-Jan-2008  matt Adapt to new pmap_bootstrap signature.
 1.4.20.1  28-Feb-2008  rjs Sync with HEAD.
 1.5.10.4  11-Mar-2010  yamt sync with head
 1.5.10.3  19-Aug-2009  yamt sync with head.
 1.5.10.2  04-May-2009  yamt sync with head.
 1.5.10.1  16-May-2008  yamt sync with head.
 1.5.8.1  18-May-2008  yamt sync with head.
 1.5.6.2  17-Jan-2009  mjf Sync with HEAD.
 1.5.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.7.8.2  28-Apr-2009  skrll Sync with HEAD.
 1.7.8.1  19-Jan-2009  skrll Sync with HEAD.
 1.7.6.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.10.4.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.19.2.3  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.19.2.2  16-Jan-2013  yamt sync with (a bit old) head
 1.19.2.1  30-Oct-2012  yamt sync with head
 1.21.2.3  03-Dec-2017  jdolecek update from HEAD
 1.21.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.21.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.23.2.1  28-Aug-2013  rmind sync with head
 1.25.2.2  05-Feb-2017  skrll Sync with HEAD
 1.25.2.1  06-Apr-2015  skrll Sync with HEAD
 1.26.2.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.27.16.3  21-Apr-2020  martin Sync with HEAD
 1.27.16.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.27.16.1  10-Jun-2019  christos Sync with HEAD
 1.27.14.3  26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.27.14.2  30-Sep-2018  pgoyette Ssync with HEAD
 1.27.14.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.32.8.1  20-Apr-2020  bouyer Sync with HEAD
 1.35.4.1  14-Oct-2023  martin Pull up following revision(s) (requested by skrll in ticket #411):

sys/arch/evbarm/nslu2/nslu2_machdep.c: revision 1.41
sys/arch/evbarm/gumstix/gumstix_machdep.c: revision 1.75
sys/arch/evbarm/iq80321/iq80321_machdep.c: revision 1.66
sys/arch/iyonix/iyonix/iyonix_machdep.c: revision 1.34
sys/arch/zaurus/zaurus/machdep.c: revision 1.52
sys/arch/evbarm/g42xxeb/g42xxeb_machdep.c: revision 1.41
sys/arch/hpcarm/hpcarm/pxa2x0_hpc_machdep.c: revision 1.33
sys/arch/evbarm/iq80310/iq80310_machdep.c: revision 1.96
sys/arch/evbarm/adi_brh/brh_machdep.c: revision 1.53
sys/arch/arm/include/arm32/pmap.h: revision 1.177
sys/arch/evbarm/viper/viper_machdep.c: revision 1.34
sys/arch/evbarm/iyonix/iyonix_machdep.c: revision 1.5
sys/arch/evbarm/npwr_fc/npwr_fc_machdep.c: revision 1.30
sys/arch/evbarm/hdl_g/hdlg_machdep.c: revision 1.35
sys/arch/arm/arm32/pmap.c: revision 1.440
sys/arch/evbarm/lubbock/lubbock_machdep.c: revision 1.45
sys/arch/evbarm/ixdp425/ixdp425_machdep.c: revision 1.47

Fix non-DIAGNOSTIC builds

RSS XML Feed