Home | History | Annotate | Download | only in smdk2xx0
History log of /src/sys/arch/evbarm/smdk2xx0/smdk2800_machdep.c
RevisionDateAuthorComments
 1.52  20-Feb-2024  andvar Fix format specifier for physmem from %d to 0x%"PRIxPSIZE" in multiple places.

Should fix VERBOSE_INIT_ARM for various evbarm kernel configs.
Also add 0x prefix in few previously fixed places to improve readability.
 1.51  20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.50  17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.49  18-Apr-2020  skrll PMAP_DEBUG has been deleted on arm
 1.48  18-Apr-2020  skrll Trailing whitespace
 1.47  16-Jul-2019  skrll branches: 1.47.8;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.46  16-Jul-2019  skrll KNF
 1.45  28-Oct-2018  skrll Fix a commit
 1.44  21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.43  22-Dec-2016  cherry branches: 1.43.14; 1.43.16;
switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.42  13-Sep-2014  matt branches: 1.42.2; 1.42.4;
Replace more vm_offset_t, vm_size_t with vaddr_t, vsize_t
Use paddr_t for msgbufphys
 1.41  18-Aug-2013  matt <arm/locore.h> fallout (fixes some include ordering errors)
 1.40  22-Sep-2012  matt branches: 1.40.2;
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.39  16-Aug-2012  matt branches: 1.39.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.38  29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.37  01-Jul-2011  dyoung branches: 1.37.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.36  30-Jun-2011  wiz dependant -> dependent
 1.35  26-Dec-2009  uebayasi Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.34  26-Dec-2009  uebayasi Garbage collect an unused global, vm_offset_t pagetables_start.
 1.33  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.32  26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 1.31  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.30  30-Nov-2008  martin 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.29  18-Nov-2008  cliff fix botched LKM edits
 1.28  12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.27  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.26  27-Apr-2008  matt branches: 1.26.6; 1.26.8;
Merge kernel changes in matt-armv6 to HEAD.
 1.25  19-Jan-2008  chris branches: 1.25.6; 1.25.8; 1.25.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.24  17-May-2006  mrg branches: 1.24.34; 1.24.38; 1.24.44; 1.24.52;
in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa.
 1.23  24-Dec-2005  perry branches: 1.23.4; 1.23.6; 1.23.8; 1.23.12;
bare asm -> __asm
 1.22  11-Dec-2005  christos merge ktrace-lwp.
 1.21  16-Mar-2005  bsh branches: 1.21.4;
Switch SMDK2410 and SMDK2800 kernels to use pmap_devmap_bootstrap() to map
I/O registers that are used in early start-up stage. This replaces the
special bootstrap-time-only bus_space_map function in smdk{2410,2800}_machdep.c.

This makes SMDK{2410,2800}'s initarm() a bit simpler, and gives us smaller diffs
to other evbarm platforms.

An another good thing for SMDK2800 is that now we have all built-in peripheral
registers mapped in 2 segments. We may expect less TLB miss on I/O access
(very slightly).
 1.20  11-Mar-2005  bsh move a few definitions to smdk2800var.h to share them between smdk2800_machdep.c and smdk2800_start.S
 1.19  12-Dec-2004  abs branches: 1.19.2; 1.19.4;
Fix comments regarding configration bounaries
 1.18  12-Dec-2004  abs Fix comments slighly
 1.17  13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.16  03-Aug-2003  bsh an arg of s3c2800_clk_freq() has been changed to match with
s3c24x0_clk_freq().
 1.15  15-Jul-2003  lukem __KERNEL_RCSID()
 1.14  15-Jun-2003  thorpej branches: 1.14.2;
Garbage-collect some unused code.
 1.13  14-Jun-2003  thorpej Also pass a type argument to comcnattach() and com_kgdb_attach().
comspeed() (and thus cominit()) may need this information.
 1.12  22-May-2003  thorpej Move KERNEL_VM_SIZE into the C files where its used.
 1.11  21-May-2003  thorpej Move KERNEL_VM_BASE inside where it is used (it won't be there for long).
 1.10  17-May-2003  thorpej Decrease the verbosity level unless VERBOSE_INIT_ARM is defiend.
 1.9  13-May-2003  bsh + use system's real PCLK frequency for source clock of sscom's
baudrate, instead of a compile time constant.

+ simplify bootstrap_bs_map() by mapping all built-in peripheral
registers at start.

+ check SW3 and SW7 and toggle RB_SINGLE and RB_KDB in boothowto if
pressed.
 1.8  13-May-2003  bsh white space nit.
 1.7  03-May-2003  thorpej Don't expose KERNEL_TEXT_BASE outside of board-specific code. This gives
individual board start-up code more flexibility about where the kernel
starts in the kernel address space.
 1.6  03-May-2003  thorpej Reduce differences between ARM32_NEW_VM_LAYOUT and not; always pass
the start and end of the kernel managed virtual address space to
pmap_bootstrap() in the new pmap.
 1.5  03-May-2003  thorpej Remove old pmap support for platforms which have fully switched over.
 1.4  03-May-2003  thorpej Switch Integrator, IXM1200, and SMDK2800 to ARM32_PMAP_NEW. These
are the last of the ARM platforms to be converted.
 1.3  26-Apr-2003  ragge Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.2  02-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.1  20-Nov-2002  bsh branches: 1.1.2;
SMDK2800 is an evaluation board for Samsung S3C2800 CPU.
 1.1.2.2  11-Dec-2002  thorpej Sync with HEAD.
 1.1.2.1  20-Nov-2002  thorpej file smdk2800_machdep.c was added on branch nathanw_sa on 2002-12-11 05:58:33 +0000
 1.14.2.5  01-Apr-2005  skrll Sync with HEAD.
 1.14.2.4  18-Dec-2004  skrll Sync with HEAD.
 1.14.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.14.2.1  03-Aug-2004  skrll Sync with HEAD
 1.19.4.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.19.2.1  29-Apr-2005  kent sync with -current
 1.21.4.2  21-Jan-2008  yamt sync with head
 1.21.4.1  21-Jun-2006  yamt sync with head.
 1.23.12.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.23.8.1  24-May-2006  yamt sync with head.
 1.23.6.1  01-Jun-2006  kardel Sync with head.
 1.23.4.1  09-Sep-2006  rpaulo sync with head
 1.24.52.1  20-Jan-2008  bouyer Sync with HEAD
 1.24.44.1  18-Feb-2008  mjf Sync with HEAD.
 1.24.38.2  23-Mar-2008  matt sync with HEAD
 1.24.38.1  09-Nov-2007  matt Make all the evbarm kernels build again. Fix lossage from rebase.
 1.24.34.1  28-Feb-2008  rjs Sync with HEAD.
 1.25.10.4  11-Mar-2010  yamt sync with head
 1.25.10.3  19-Aug-2009  yamt sync with head.
 1.25.10.2  04-May-2009  yamt sync with head.
 1.25.10.1  16-May-2008  yamt sync with head.
 1.25.8.1  18-May-2008  yamt sync with head.
 1.25.6.2  17-Jan-2009  mjf Sync with HEAD.
 1.25.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.26.8.1  19-Jan-2009  skrll Sync with HEAD.
 1.26.6.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.37.2.2  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.37.2.1  30-Oct-2012  yamt sync with head
 1.39.2.3  03-Dec-2017  jdolecek update from HEAD
 1.39.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.39.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.40.2.1  28-Aug-2013  rmind sync with head
 1.42.4.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.42.2.1  05-Feb-2017  skrll Sync with HEAD
 1.43.16.3  21-Apr-2020  martin Sync with HEAD
 1.43.16.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.43.16.1  10-Jun-2019  christos Sync with HEAD
 1.43.14.2  26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.43.14.1  30-Sep-2018  pgoyette Ssync with HEAD
 1.47.8.1  20-Apr-2020  bouyer Sync with HEAD

RSS XML Feed