Home | History | Annotate | Download | only in gemini
History log of /src/sys/arch/evbarm/gemini/gemini_machdep.c
RevisionDateAuthorComments
 1.35  10-Aug-2023  andvar fix typos in comments.
 1.34  20-Apr-2023  skrll Provide a shared pmap_devmap implementation and convert all pmap_devmap
arrays to use DEVMAP_ENTRY{,_END}
 1.33  28-Nov-2020  skrll Fix thinko in kern_vtopdiff calculation
 1.32  26-Nov-2020  skrll Trailing whitespace
 1.31  16-Jul-2019  skrll branches: 1.31.10;
Consistently use vaddr_t as initarm and friends return type.

Makes no difference to binaries except for aarch64 where it's required
 1.30  16-Jul-2019  skrll KNF
 1.29  28-Oct-2018  skrll Fix a commit
 1.28  21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.27  12-Aug-2018  skrll Fix GEMINI build
 1.26  31-Jul-2018  skrll Sprinkle #include "opt_arm_debug.h" where VERBOSE_INIT_ARM is used
 1.25  15-Jul-2018  maxv Retire ipkdb entirely. The option was removed from the config files
yesterday.

ok kamil christos
 1.24  30-Dec-2016  rin branches: 1.24.14; 1.24.16;
catch up with physmem type change (in the same manner as sdp24xx_machdep.c)
 1.23  22-Dec-2016  cherry switch all ports to use uvm_init.c:uvm_md_init()

uvm_setpagesize() is now subsumed within this funciton.
 1.22  18-Aug-2013  matt branches: 1.22.6; 1.22.10;
<arm/locore.h> fallout (fixes some include ordering errors)
 1.21  22-Sep-2012  matt branches: 1.21.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.20  16-Aug-2012  matt branches: 1.20.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.19  29-Jul-2012  matt Fix more -fno-common fallout.
Move more variables to common locations.
 1.18  01-Jul-2011  dyoung branches: 1.18.2;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.17  30-Jun-2011  wiz dependant -> dependent
 1.16  28-Nov-2010  hannken 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.15  26-Dec-2009  uebayasi branches: 1.15.4;
Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
 1.14  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.13  26-Nov-2009  matt Kill proc0paddr. Use lwp0.l_addr instead.
 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  06-Dec-2008  cliff branches: 1.11.4; 1.11.8;
add gemini pseudo-nic and support code.
 1.10  20-Nov-2008  cliff evaluate RMCR correctly for single proc gemini
 1.9  20-Nov-2008  cliff add bootstrap ttbl and devmap entries for DRAM Controller
and sanity check memory remap reg to catch possible
mismatch between boot firmware remapping and kernel MEMSIZE, etc.
 1.8  13-Nov-2008  cliff add gemini_cpu1_start() so Master CPU can release Slave to boot.
this gets called early in initarm(); this is as early as reasonable
for now; we might have to puch it back if the Slave ever depends
on the Master to do some setup work or something.
 1.7  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.6  10-Nov-2008  cliff - use actual device address defines instead of abstract console defines for in mmu_init_table\gemini_start.S and devmap[]\gemini_machdep.c;
this allows some flexibility e.g. to map 'em all, which is useful
e.g. when using obio uart to debug lpc uart.

- add mmu_init_table entries for Gemini global regs, lpchc, and lpcio
these are needed to consinit() when console is lpc uart

- now have 2 versions of consinit, one for obio uart,
the other for lpc uart; we use CONSADDR to determine
which gets compiled.

- remove a useless bus_space map/unmap from obio uart version of consinit
comcnattach() will do his own...
 1.5  09-Nov-2008  cliff - initarm progress putchars and printfs are now #ifdef VERBOSE_INIT_ARM
- use GEMINI_SLAVE, GEMINI_MASTER defines to distinguish between
primary and secondary CPUs, who owns what devices, etc.
- add short delay()s to allow console printf output to drain before reset
unless if ref_sc is not yet initialized, in which case tough.
- add devmap entriy for LPC
- add devmap entry for RAMDISK if MEMORY_DISK_DYNAMIC is defined
i.e. if the ramdisk is external to the kernel, in which case
we "know" where is lives by agreement with firmware.
- call md_root_setconf() if MEMORY_DISK_DYNAMIC is defined
 1.4  01-Nov-2008  cliff rip out some more brinngup debug cruft
 1.3  01-Nov-2008  cliff in initarm(), remove some bringup debug stuff, and clean up
progress markers; they are still useful for now.
in cpu_reboot() use Gemini Global Reset Control register to reboot system
geminiwdt_reboot() is no longer needed, removed.
 1.2  28-Oct-2008  cliff reclaim (uvm_page_physload) memory from start of DRAM to kernel phys load addr,
 1.1  24-Oct-2008  matt branches: 1.1.2;
Add support for Cortina Systems SL3516 eval board.
 1.1.2.1  19-Jan-2009  skrll Sync with HEAD.
 1.11.8.4  11-Mar-2010  yamt sync with head
 1.11.8.3  19-Aug-2009  yamt sync with head.
 1.11.8.2  04-May-2009  yamt sync with head.
 1.11.8.1  06-Dec-2008  yamt file gemini_machdep.c was added on branch yamt-nfs-mp on 2009-05-04 08:10:57 +0000
 1.11.4.2  17-Jan-2009  mjf Sync with HEAD.
 1.11.4.1  06-Dec-2008  mjf file gemini_machdep.c was added on branch mjf-devfs2 on 2009-01-17 13:27:58 +0000
 1.15.4.1  05-Mar-2011  rmind sync with head
 1.18.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.18.2.1  30-Oct-2012  yamt sync with head
 1.20.2.3  03-Dec-2017  jdolecek update from HEAD
 1.20.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.20.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.21.2.1  28-Aug-2013  rmind sync with head
 1.22.10.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.22.6.1  05-Feb-2017  skrll Sync with HEAD
 1.24.16.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.24.16.1  10-Jun-2019  christos Sync with HEAD
 1.24.14.4  26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.24.14.3  30-Sep-2018  pgoyette Ssync with HEAD
 1.24.14.2  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.24.14.1  28-Jul-2018  pgoyette Sync with HEAD
 1.31.10.1  14-Dec-2020  thorpej Sync w/ HEAD.

RSS XML Feed