Commit Graph

72 Commits

Author SHA1 Message Date
skrll 08a4aba755 C99 types 2012-11-12 18:00:34 +00:00
chs cbab9cadce split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
2012-10-27 17:17:22 +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
tls 7b0b7dedd9 Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code
   to sys/kern from sys/dev.

2) Remove use of NRND as test for presence of entropy-pool code throughout
   source tree.

3) Remove use of RND_ENABLED in device drivers as microoptimization to
   avoid expensive operations on disabled entropy sources; make the
   rnd_add calls do this directly so all callers benefit.

4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might
   have lead to slight entropy overestimation for some sources.

5) Add new source types for environmental sensors, power sensors, VM
   system events, and skew between clocks, with a sample implementation
   for each.

ok releng to go in before the branch due to the difficulty of later
pullup (widespread #ifdef removal and moved files).  Tested with release
builds on amd64 and evbarm and live testing on amd64.
2012-02-02 19:42:57 +00:00
nisimura 77b78cdcff Add FriendlyARM Mini2440 support.
- new code for Samsung S3C2440 SoC.
- update for other S3C2xx0.
This port was done by Paul Fleischer.
2012-01-30 03:28:33 +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
bsh 6d22e186df don't use dv_xname directly. 2010-06-07 15:17:24 +00:00
snj cbd4507895 Include locators.h for SSIOCF_ADDR_DEFAULT. 2010-02-05 21:10:58 +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
uebayasi cb96e85ab2 Garbage collect an unused global, vm_offset_t pagetables_start. 2009-12-26 15:47:14 +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
tsutsui 3b0a685f2b Split device_t/softc. Tested only on cs at ofisa on shark. 2009-09-22 14:55:19 +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
martin 719a906ef5 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.
2008-11-30 18:21:31 +00:00
cliff 82f0028b4e fix botched LKM edits 2008-11-18 18:20:10 +00:00
ad 0efea177e3 Remove LKMs and switch to the module framework, pass 1.
Proposed on tech-kern@.
2008-11-12 12:35:50 +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
cegger 634954287e use device_lookup_private to get softc 2008-06-11 23:24:43 +00:00
matt 825088eda6 Merge kernel changes in matt-armv6 to HEAD. 2008-04-27 18:58:43 +00:00
chris 131e68c2e1 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.
2008-01-19 13:11:09 +00:00
matt 0c0de8072e Cleanup softint lossage. 2008-01-06 01:37:53 +00:00
christos 53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
mrg b6779d7cc2 in initarm(), initialise kernel_l1pt.pv_va as well as kernel_l1pt.pv_pa. 2006-05-17 04:22:46 +00:00
thorpej 3328b5dfae Use device_parent(). 2006-03-26 04:27:57 +00:00
perry 2d65de2479 bare asm -> __asm 2005-12-24 22:45:33 +00:00
perry 5f1c88d70d Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete. 2005-12-24 20:06:46 +00:00
christos 95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
bsh 4c5c06097c 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).
2005-03-16 05:02:12 +00:00
bsh 513d8a771b move a few definitions to smdk2800var.h to share them between smdk2800_machdep.c and smdk2800_start.S 2005-03-11 14:28:52 +00:00
bsh a7d17de7d6 delete unused stuff. 2005-03-08 16:51:44 +00:00
abs 964859d895 Fix comments regarding configration bounaries 2004-12-12 21:03:06 +00:00
abs 5958dd944e Fix comments slighly 2004-12-12 20:42:53 +00:00
bsh 58613436a1 Support SMDK2410's 240x320 TFT LCD.
This can be configured with or without wsdisplay.
Only 8- and 16-bpp modes have been tested.
2004-02-14 07:26:35 +00:00
bsh 782b4d1e18 Keyboard driver for semtech SPICoder-SA06 on Samsung SMDK2410.
The board has a full keyboard. The controller is hooked to SPI port.
2004-02-14 07:23:30 +00:00
wiz d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
bsh 7ff9ddf063 mask all interrupts during bootstrap *correctly*.
call s3c2xx0_intr_bootstrap() to initialize variables used by splfoo().
2003-12-17 13:21:33 +00:00
mycroft 56cdfe0eab GC a bogus variable that was causing link failures with PCMCIA. 2003-09-03 03:17:22 +00:00
bsh 43f6db1ea7 support CS8900A ethernet on SMDK2410.
XXX: SMDK2410 has no EEPROM connected to CS8900A. Currently the only
     way to set MAC address is give it via kernel config option.
2003-08-29 13:54:03 +00:00
bsh b0c5091bcb tweak memory controller on startup for CS8900A at CS3 and CL-PD7610 at
CS2.
2003-08-29 13:46:38 +00:00
bsh e979aaa6ea add option SMDK2XX0_CLOCK_CONFIG to change CPU clock at kernel startup. 2003-08-29 12:41:12 +00:00
bsh 1f218a14c4 fix a comment. 2003-08-29 12:07:33 +00:00
bsh 13543d215c move some definitions of register block size from s3c24[10]0reg.h
to s3c24x0reg.h when they are same for S3C2410 and 2400, and rename them as
S3C24X0_FOO_SIZE.
2003-08-27 03:46:05 +00:00
bsh 4060e862f4 add s3c2xx0_bus_dma_init() which is called by s3c2410_attach().
add a variable wdcdebug_wd_mask for a temporary workaround to the link
error when umass is configured in SMDK2410 kernel.  I'll re-visit this
later.
2003-08-05 11:32:35 +00:00
bsh 490a557f57 disable interrupts at the beginning. 2003-08-04 12:38:57 +00:00
bsh 3bcf928aaa don't be too verbose unless VERBOSE_INIT_ARM is defined. 2003-08-04 12:37:43 +00:00