Commit Graph

33 Commits

Author SHA1 Message Date
skrll
2f91957ba2 Appease new gas. 2013-10-01 07:48:35 +00:00
matt
213e0bd398 <arm/locore.h> fallout (fixes some include ordering errors) 2013-08-18 15:58:19 +00:00
matt
ee6cde04ff 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.
2012-09-22 00:33:36 +00:00
matt
83d36728df 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.
2012-08-16 18:22:37 +00:00
matt
a039bd91a6 Fix more -fno-common fallout.
Move more variables to common locations.
2012-07-29 00:07:06 +00:00
dyoung
fea15f47f1 #include <sys/bus.h> instead of <machine/bus.h>. 2011-07-01 20:36:42 +00:00
wiz
4cbd24b23f dependant -> dependent 2011-06-30 20:09:15 +00:00
matt
497ddd31b9 Add RCSID when needed.
Don't include pmap.h or pte.h, include "assym.h" instead.
Use assym.h provided values.
2011-01-31 06:28:02 +00:00
matt
7e1849b672 Generate addresses from this instead of including gemini.h 2011-01-31 06:10:25 +00:00
hannken
c23fe3a530 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>
2010-11-28 08:23:22 +00:00
uebayasi
998f9b1597 Use cpu_* prefix to call cpu_* functions (setttb() -> cpu_setttb()); no
functional changes.
2009-12-26 16:01:23 +00:00
rmind
3f18fe8123 - 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.
2009-11-27 03:23:03 +00:00
matt
11af2f9cfa Kill proc0paddr. Use lwp0.l_addr instead. 2009-11-26 00:19:11 +00:00
rmind
f95af63371 Drop 3rd and 4th clauses from Ichiro FUKUHARA's license.
Reviewed and approved by ichiro@ (copyright holder).
2009-10-21 14:15:50 +00:00
matt
b2a95bab1e 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)
2009-08-11 17:04:14 +00:00
cliff
41bfa2c41d add gemini pseudo-nic and support code. 2008-12-06 05:22:39 +00:00
cliff
063fc09eca evaluate RMCR correctly for single proc gemini 2008-11-20 23:27:10 +00:00
cliff
dda2ff2367 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.
2008-11-20 07:49:54 +00:00
cliff
bd82d08586 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.
2008-11-13 01:32:48 +00:00
cliff
01b65de4cd - add option GEMINI_SINGLE for single-core system model
- add "re" interface to GEMINI configuration
2008-11-11 19:54:38 +00:00
dyoung
94d985722a 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.
2008-11-11 06:46:40 +00:00
cliff
283b08193e remove extra 0x10000000 in Ltemp_l1_table value
is leftover from whe we were loading at 0x10200000.
if slave CPU uses this, he will paste his temporary
L1 table in to the master's data.  bad slave!
2008-11-11 06:39:00 +00:00
cliff
3b02e84035 - GEMINI_CONSOLE_VBASE renamed to GEMINI_UART_VBASE 2008-11-10 04:35:25 +00:00
cliff
5f656fb56e - use actual device address defines instead of abstract console defines
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
2008-11-10 04:33:42 +00:00
cliff
23f46ff40f - 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...
2008-11-10 04:30:46 +00:00
cliff
ed27a42072 - 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
2008-11-09 08:49:40 +00:00
cliff
a80e63a8a0 add defines for LPC and RAMDISK VADDRs for use in devmap 2008-11-09 08:40:59 +00:00
cliff
8e3f3d7b7b those progress putchars are now #ifdef VERBOSE_INIT_ARM 2008-11-09 08:39:31 +00:00
cliff
e88243d4c8 rip out some more brinngup debug cruft 2008-11-01 07:58:33 +00:00
cliff
84dc474c3c 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.
2008-11-01 07:43:19 +00:00
matt
7c8bb98a3b Fix copyright. 2008-10-29 17:22:54 +00:00
cliff
bc9d49c917 reclaim (uvm_page_physload) memory from start of DRAM to kernel phys load addr, 2008-10-28 22:34:39 +00:00
matt
f5d7ce3d2f Add support for Cortina Systems SL3516 eval board. 2008-10-24 04:23:18 +00:00