Commit Graph

1653 Commits

Author SHA1 Message Date
garbled
1fb588bc51 Convert ofppc to the shared ofw_autoconf.c 2007-11-07 19:31:09 +00:00
garbled
de2c7f5da3 Create a new ofw_autoconf.c based almost entirely on the one from macppc. 2007-11-07 19:29:11 +00:00
simonb
3e1f18ae93 Fix unused variable warning for the non-FPU/altivec case. 2007-11-06 02:52:53 +00:00
ad
bd6663fc4d Don't set l_usrpri / spc_curpriority here. mi_userret() does it. 2007-11-05 20:37:48 +00:00
garbled
de8e7fde3e Lots of small changes for ofppc:
Remove the ofb driver.  I'm not interested in trying to make this work.
It should be replaced with the genfb driver, which I have added,
commented out because that driver needs work before it will function on
ofppc.  (it's too panic-happy, and ofppc needs a working autoconf.c)

Change the way we do isa_inb/outb.  The new way is a slightly nastier
hack, but won't run afoul of the other isa drivers as much.

Fix ofw_consinit.c to remove the dependency on ofb.
2007-11-05 15:49:02 +00:00
garbled
fbd1da06d8 Apply a patch from Frank Wille that fixes a stupid in the ofw interrupt map
discovery where the pin value was off by one.
2007-11-04 17:11:05 +00:00
garbled
51861415b8 Get rid of the ofppc use of the ofbus completely, for the last time.
Write a complete OF boot console into ofw_consinit.c and rewire a bunch
of the ifdef logic in that file to use it when appropriate on both macppc
and ofppc.  Get rid of the attempt to wire up the serial console early,
as that is extremely difficult on ofppc.  Yank all the console code out
of ofppc/machdep.c.  (This is a boot console only, not a full blown
console like ofcons.c)

Delete all the ofbus references out of the config files, and pull in
dev/ofw/openfirmio.c and dev/ofw/ofw_subr.c directly rather than pulling
in files.ofw.  It might be worth going back and adding a files.ofw-nobus
to that directory to allow pulling in the openfirmware driver without
pulling in the whole ofbus mess.

Change rtas driver to connect directly to mainbus, like the PCI bus nodes do.
2007-11-04 16:28:27 +00:00
garbled
670c8a4f93 Fix the ranges_bitmap function so it correctly finds the various ranges
on OFW, and passes them on to ofwoea_batmap correctly.  With this fix,
ofppc now properly initializes all of it's batmappings.

Kept the macppc specific override of the bitmap, but surrounded it with
an #ifdef macppc.  It would probably be worth testing macppc without this
ifdef to see if it works there as well.
2007-10-26 08:41:24 +00:00
garbled
9e99088c7c Add code to properly detect the interrupt mapping on the PegasosII, and any
other OFW machine that fails our first two methods.
2007-10-26 00:34:53 +00:00
garbled
5c24ff82a3 Add a bunch of fixes and minor rewrites to ofppc to bring it closer to
working properly.  This is still a work in progress, and all work so far
has been based on the PegasosII machne.

1) Rewrite how the ISA memory and IO space maps are found.  More work
will still need to be done in this area.
2) Add a new OFW method of pci configuration.  So far I can only get this
to work on the primary PCI bus on the Pegasos.  Unsure if this is a
pegasos bug or a code bug.
3) Add the rtas device to ofppc, and add an "rtas_reboot" function to
rtas to allow me to reboot the PegasosII.  The rtas driver works, and is
a great start but needs to be changed slightly to allow easier access to
the functions from outside the driver.
4) Fix a number of bugs that existed in the shared PCI code for ofw that
probably weren't tickled by macppc.

There is much much more left to do here, this is all still a work in
progress, but this commit will allow other people to play around with the
code if they want to.
2007-10-25 16:55:49 +00:00
yamt
23005df1e0 defparam PAGER_MAP_SIZE. 2007-10-25 13:03:03 +00:00
ad
bccf777b72 Make ras_lookup() lockless. 2007-10-24 14:50:38 +00:00
garbled
d974db0ada Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree.  Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches.  The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
2007-10-17 19:52:51 +00:00
martin
d9a407bba2 Add a new option DDB_VERBOSE_HELP that adds online help to ddb.
From Adam Hamsik.
Minor modifications by me, all bugs are probably mine.
2007-09-22 18:40:20 +00:00
dsl
06b0a1bdab Define netbsd32_uint64 for 64bit integers with the alignment requirement
of the corresponding 32bit architecture.
Use it for the 64bit items in netbsd32_statvfs so that the structure
doesn't collect 8byte alignment (and 4 bytes of trailing padding).
This replaces the 'packed' attribute which wasn't architecture specific
and would cause massive overheads accessing every member of sparc64.
Should allow the MIPS64 port do DTRT.
2007-09-16 22:35:01 +00:00
skrll
9fdaf800d9 Merge nick-csl-alignment. 2007-09-10 11:34:05 +00:00
drochner
dce09ea075 clean up some definitions around rune_t which are not needed anymore 2007-09-03 20:31:56 +00:00
drochner
0e0fe2c353 Fix definitions of UCHAR_MAX/USHRT_MAX and related
types. C99 requires that these definitions promote to (signed/unsigned)
integer the same way as the types the definition is for. And since
unsigned char/short fit into an "int" on all our archs and thus promote
to signed int, the definitions must not be unsigned.
Fixes PR lib/31306 by Neil Booth.
2007-08-31 16:24:21 +00:00
dyoung
6f7649313f Constify. 2007-08-26 22:28:52 +00:00
ad
07b0fe01aa cpu_lwp_fork: don't rely on struct mdlwp being zeroed in advance. 2007-08-17 23:58:45 +00:00
ad
63c4506184 Changes to make ktrace LKM friendly and reduce ifdef KTRACE. Proposed
on tech-kern.
2007-08-15 12:07:23 +00:00
hannken
40135c9d50 Handle IST_LEVEL interrupts better. Disable interrupt while it is
processed and enable afterwards.  Up to now IST_LEVEL interrupts always
fired again during processing leaving unnecessary pending interrupts.

Tested on EXPLORA451.

Ok: Simon Burge <simonb@netbsd.org>
2007-07-24 15:22:18 +00:00
hannken
6409dfa660 Use PR_NOWAIT in in pmap_enter_pv() and take care of PMAP_CANFAIL. Built
after powerpc/oea/pmap.c.  Now a LOCKDEBUG kernel runs on EXPLORA451.

Ok: Simon Burge <simonb@netbsd.org>
2007-07-24 15:19:09 +00:00
matt
5aaa0be03a Don't call proc_trampoline_mp when starting a lwp. (XXX why did we do this
before?)
2007-07-21 19:26:14 +00:00
ad
744a92f0f8 Don't depend on uvm_extern.h pulling in proc.h. 2007-07-21 19:06:20 +00:00
ad
63811f5275 Generic soft interrupts are mandatory. 2007-07-14 21:48:17 +00:00
ad
88ab7da936 Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
2007-07-09 20:51:58 +00:00
pooka
0bc323f5cd Initialize the link context in a signal frame to the receiving lwp's
link context instead of NULL.  Otherwise, if we got a signal while the
lwp had a link context set, the link context would be set to NULL upon
return from signal delivery.

christos@tech-kern: "I think you are right."
2007-07-08 10:19:21 +00:00
tsutsui
6a8a584d1a Remove leftover netns stuff. 2007-07-07 05:13:14 +00:00
xtraeme
da3f163bd2 Imported envsys 2, a brief description of the new features:
(Part 2: drivers)

* Support for detachable sensors.
* Cleaned up the API for simplicity and efficiency.
* Ability to send capacity/critical/warning events to powerd(8).
* Adapted all the code to the new locking order.
* Compatibility with the old envsys API: the ENVSYS_GTREINFO
  and ENVSYS_GTREDATA ioctl(2)s are supported.
* Added support for a 'dictionary based communication channel' between
  sysmon_power(9) and powerd(8), that means there is no 32 bytes event
  size restriction anymore.
* Binary compatibility with old envstat(8) and powerd(8) via COMPAT_40.
* All drivers with the n^2 gtredata bug were fixed, PR kern/36226.

Tested by:

blymn: smsc(4).
bouyer: ipmi(4), mfi(4).
kefren: ug(4).
njoly: viaenv(4), adt7463.c.
riz: owtemp(4).
xtraeme: acpiacad(4), acpibat(4), acpitz(4), aiboost(4), it(4), lm(4).
2007-07-01 07:37:12 +00:00
aymeric
fe3cd5e510 in the FIRMWORKSBUGS case, and if PSL_DR/PSL_IR are set, don't do the
job of saving and restoring registers twice: let ofwreal cope with everything.

This was the last bit needed to get a stock NetBSD/ofppc kernel booting
on the Efika. This will have to be adapted to the ppcoea-renovation branch.
2007-06-25 11:22:13 +00:00
aymeric
7340de8e08 Recognize the Freescale G2 cores: initialize cache line size, and doze mode
While there, fix the way the major version of a PowerPC processor is computed
2007-06-25 11:16:47 +00:00
nisimura
404200bf24 - add MPC8245 to cpuname table. 2007-06-02 02:41:41 +00:00
nisimura
c966ccb8d8 - add booted_device and booted_kernel sysctl nodes to let userland know
about runtime environment.
2007-06-01 14:23:50 +00:00
rjs
9b21104e57 Fix for yamt-idlelwp merge. 2007-05-22 20:06:33 +00:00
simonb
643aedadec Fix a tpyo in a comment. 2007-05-21 02:48:00 +00:00
rjs
d42d58ab33 Fix for yamt-idlelwp merge. 2007-05-18 11:16:27 +00:00
yamt
f03010953f merge yamt-idlelwp branch. asked by core@. some ports still needs work.
from doc/BRANCHES:

	idle lwp, and some changes depending on it.

	1. separate context switching and thread scheduling.
	   (cf. gmcgarry_ctxsw)
	2. implement idle lwp.
	3. clean up related MD/MI interfaces.
	4. make scheduler(s) modular.
2007-05-17 14:51:11 +00:00
manu
f4aafa3084 Fix build 2007-04-25 03:12:56 +00:00
macallan
43b2c2b989 include files.wsfb 2007-04-10 02:50:32 +00:00
garbled
770da6e167 Fix the other instance of SR601_PA_MATCH_P in this file (the unmap case) too. 2007-04-09 17:43:40 +00:00
garbled
23ec4fc854 When testing if something from the iosrtable is valid, don't call
SR601_PA_MATCH_P(), because that macro assumes the io region you are
mapping lies within the 32-bit address space addressable by the CPU,
which might not allways be the case.
2007-04-09 17:39:31 +00:00
garbled
22e3ca58a3 Make the SR601_VALID_P check less draconic wrt valid io segregs. There
are perfectly valid iosegregs for which the old test would fail.
2007-04-09 17:35:14 +00:00
ad
59d979c5f1 Pass an ipl argument to pool_init/POOL_INIT to be used when initializing
the pool's lock.
2007-03-12 18:18:22 +00:00
he
77ea0f7a10 Use char* and not void* with mtod() before doing pointer arithmetic
on the result.
2007-03-07 17:22:27 +00:00
tsutsui
48174a79c0 Use (char *) cast on pointer arith. 2007-03-05 10:43:32 +00:00
macallan
e7e67900ab make this compile again 2007-03-04 10:26:25 +00:00
macallan
b47de51335 make this compile again 2007-03-04 10:18:03 +00:00
macallan
287d873bc3 make this compile again 2007-03-04 10:06:49 +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
macallan
12dd6f9c02 add OF_setprop() 2007-02-28 20:30:57 +00:00
thorpej
c8daa94cb1 TRUE -> true, FALSE -> false 2007-02-22 16:57:56 +00:00
matt
c40caef899 More boolean_t -> bool lossage. 2007-02-22 04:47:07 +00:00
thorpej
dd962f8680 Pick up some additional files that were missed before due to conflicts
with newlock2 merge:

Replace the Mach-derived boolean_t type with the C99 bool type.  A
future commit will replace use of TRUE and FALSE with true and false.
2007-02-21 23:48:10 +00:00
thorpej
712239e366 Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
2007-02-21 22:59:35 +00:00
mrg
4410329b87 add a pair of new bus_dma(9) functions:
int _bus_dmatag_subregion(bus_dma_tag_t tag,
				  bus_addr_t min_addr,
				  bus_addr_t max_addr,
				  bus_dma_tag_t *newtag,
				  int flags)
	void _bus_dmatag_destroy(bus_dma_tag_t tag)

that allow a (normally broken/limited) device to restrict the bus address
range it can talk to.  this is used by bce(4) to limit DMA addresses to
1GB range, the maximum the chip can address.

all this is from Yorick Hardy <yhardy@uj.ac.za> with input from several
people on tech-kern.

XXX: bus_dma(9) needs an update still.
2007-02-21 20:41:23 +00:00
ad
d43ea32af9 - Add /a modifier to trace that allows a specific LWP to be selected.
- When doing trace/t, always note which pid/lid combination is being traced.
2007-02-20 01:02:02 +00:00
pavel
934634a18c Change the process/lwp flags seen by userland via sysctl back to the
P_*/L_* naming convention, and rename the in-kernel flags to avoid
conflict. (P_ -> PK_, L_ -> LW_ ). Add back the (now unused) LSDEAD
constant.

Restores source compatibility with pre-newlock2 tools like ps or top.

Reviewed by Andrew Doran.
2007-02-17 22:31:36 +00:00
ad
3363855a4a Remove spllowersoftclock() and CLKF_BASEPRI(), and always dispatch callouts
via a soft interrupt. In the near future, softclock will be run from process
context.
2007-02-16 02:53:43 +00:00
ad
216d01d042 Make these compile again. 2007-02-15 15:14:57 +00:00
ad
2b0ac2e782 Fix a pasto (mutex_exit -> mutex_enter). 2007-02-10 16:08:16 +00:00
ad
b07ec3fc38 Merge newlock2 to head. 2007-02-09 21:55:00 +00:00
simonb
1fc6e76755 Fix a tyop in a comment. 2007-02-06 04:48:15 +00:00
freza
898efa526f Local variables bat{u,l} are only needed by OEA code, so ifdef them. 2007-02-01 19:59:03 +00:00
freza
55f2d910e2 On ibm405 (which the true meaning of PPC_IBM4XX), anything outside
kernel VM range is supposed to be mapped via reserved TLB entries,
so allow such VAs through.

Fixes kgdb failure observed by Jean-Francois Boudreault on port-powerpc
(thanks for testing, too).
2007-02-01 15:18:57 +00:00
freza
4a09a01492 Document that unprotected access to softintr cookie is safe in
softintr_disestablish(), upon request from uebayasi@.
2007-01-30 05:42:24 +00:00
freza
4bf0309687 Protect softintr queues by direct manipulation of PSL_EE because PowerPC
ports have different IPL hierarchies. On macppc, IPL_VM is below IPL_AUDIO
and IPL_SERIAL so the queues got corrupted due to priority inversion.
Also fix a race condition in softintr_schedule() when testing "si_refs > 1",
it can lead to queue corruption and subsequent panic (below). As a side
effect, using PSL_EE directly is faster than going via spl*()/splx().

This is supposed to fix (XXX I don't have the hw):

  Panic: kernel diagnostic assert "si->si_refs > 0" failed: file
  "[...]arch/powerpc/powerpc/softintr.c" line 116

reported for example in:

  http://mail-index.netbsd.org/port-macppc/2007/01/25/0001.html

Discussed with briggs@ and macallan@.
2007-01-30 05:25:15 +00:00
hubertf
142c2a33ba Remove duplicate #includes, patch contributed in private mail
by Slava Semushin <slava.semushin@gmail.com>.

To verify that no nasty side effects of duplicate includes (or their
removal) have an effect here, I've compiled an i386/ALL kernel with
and without the patch, and the only difference in the resulting .o
files was in shifted line numbers in some assert() calls.
The comparison of the .o files was based on the output of "objdump -D".

Thanks to martin@ for the input on testing.
2007-01-24 13:08:11 +00:00
aymeric
211211993c Basic support for RTAS (CHRP's Run-Time Abstraction Services).
Tested on the Efika; now it knows what time it is.
rtas can attach to mainbus. Not added to any kernel config file yet.
2007-01-14 22:18:02 +00:00
aymeric
0725ba2be2 disable MMU in restoremmu. This generally makes sense and is required for the
Efika
2007-01-14 22:11:27 +00:00
elad
504c71d9fe Make machdep scope architecture-agnostic by removing all arch-specific
requests and centralizing them all. The result is that some of these
are not used on some architectures, but the documentation was updated
to reflect that.
2006-12-26 10:43:43 +00:00
elad
3d11477c94 Add requests indicating access to unmanaged memory for arm, pc532, powerpc,
sh3, sh5, and vax, and use them instead of KAUTH_GENERIC_ISSUSER.

Update documentation and example secmodel code.
2006-12-22 11:13:21 +00:00
yamt
8bf7662829 merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie).
	  http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
	- complete workqueue(9) and fix its ipl problem, which is reported
	  to cause audio skipping.
	- fix netbt (at least compilation problems) for some ports.
	- fix PR/33218.
2006-12-21 15:55:21 +00:00
freza
e388b581bd Welcome to evbppc/virtex -- port to Xilinx Virtex series FPGA's with embedded
ibm405d5 core.

OK by Simon Burge
2006-12-02 22:18:47 +00:00
freza
e2db2efb2e Instead of mapping whole RAM with reserved TLB entries, map just enough
to ensure trap code will work (that is 0 upto ${endkernel}) and leave the
rest to pmap_tlbmiss(). Mapping whole physmem into the kernel wired way
too many TLB entries, see

  http://mail-index.netbsd.org/port-powerpc/2006/10/27/0000.html

for performance analysis. While there, be a bit more descriptive in
pmap_tlbmiss() comment and use macro instead of numeric constant.

OK by Simon Burge
2006-11-29 19:56:46 +00:00
elad
8bb202af97 Move ktrace, ptrace, systrace, and procfs to use kauth(9).
First, remove process_checkioperm() calls from MD code. Similar checks
using kauth(9) routines (on the process scope, using appropriate action)
are done in the callers.

Add secmodel back-end to handle each subsystem.
2006-11-28 17:27:09 +00:00
freza
24a77a1111 PR toolchain/35105: Don't include reloc.h, instead provide R_PPC_* defines
and make R_TYPE() use them. This is more consistent with other ports, too.

Suggested by Manuel Bouyer, ok'd by Matt Thomas.
2006-11-25 18:04:33 +00:00
garbled
9d0e6979a5 Make these files compile with -Wextra -Wno-unused. 2006-10-30 17:52:12 +00:00
garbled
8685914d8f Change an instance of curaddr to PHYS_TO_BUS_MEM(t, curaddr) in
_bus_dmamap_load_buffer, otherwise when attempting to DMA a buffer larger
than PAGE_SIZE on an arch where PHYS != BUS it will allways fail.
2006-10-27 19:36:15 +00:00
he
9ed827d944 The new gcc propagates const-ness from structs to members, so
make local variable const as well.  Avoid writing to the now-const
variable, instead do the masking before in the trapframe register
assignment.

OK'ed by thorpej and nathanw.
2006-10-24 16:53:01 +00:00
mrg
648bbec934 in cpu_dumpconf(), don't panic() if we can't bdevsw_lookup() the
dumpdev.  this occurs when we try to set the dumpdev to a device
with no driver loaded.  this fixes PR#34872.

in sys_swapctl, if bdevsw_lookup() fails, set dumpdev = NODEV
before calling cpu_dumpconf().  (this also fixes PR#34872.)

XXX: cpu_dumpconf() should probably be changed to take a dumpdev
XXX: and return an error in such cases, but that is a much more
XXX: intrusive change.

XXX2: this is only run-tested on sparc64 and compile tested on a
XXX2: couple of platforms.
2006-10-21 05:54:31 +00:00
kiyohara
e95a66da33 * convert ibm4xx-based evbppc from reserved-TLB entry allocation to recently
introduced ppc4xx_tlb_reserve() API.
2006-10-16 18:14:38 +00:00
kiyohara
d7e6f0e206 * convert ibm4xx-based evbppc from reserved-TLB entry allocation to recently
introduced ppc4xx_tlb_reserve() API.
* ibm405gp UART0 used to be linear mapped. The VA happens to be inside kernel
  segment, giving us the possibility of multiple VA matches in the TLB. This
  is considered "programming error" by 405 core and results in "undefined
  behaviour". We now avoid mapping peripherals in kernel segment.
* Some boards used to map hardwired RAM size. We now use the real size as
  passed in by boot firmware.
2006-10-16 18:14:37 +00:00
kiyohara
c38c755c41 do bus_space_map() to get bus space handle in emacs_attach() 2006-10-16 18:14:35 +00:00
tsutsui
931bfebdc1 Fix an obvious typo. Patch from seebs in PR port-powerpc/33107. 2006-10-07 14:44:22 +00:00
chs
33c1fd1917 add support for O_DIRECT (I/O directly to application memory,
bypassing any kernel caching for file data).
2006-10-05 14:48:32 +00:00
tnozaki
44eb8f042e fix gcc -Werror -Wmissing-braces problem
mbstate_t(this is opaque object)'s initializer should be ``{ 0 }'',
so changed 1st field of union from character array to integer.
2006-10-04 13:51:59 +00:00
freza
19461b0a95 Make sure we mask statclock timer on ibm4xx systems. This avoids
pthread "related" panics like:

    panic: remrunqueue: bit 18 not set
    Stopped in pid 479.3 (exsprite) at      netbsd:cpu_Debugger+0x10:       lwz
    r
    0, r1, 0x14
    db> bt
    0x869abe00: at panic+0x1b4
    0x869abe50: at remrunqueue+0x80
    0x869abe60: at mi_switch+0x114
    0x869abea0: at sa_unblock_userret+0x4e8
    0x869abee0: at syscall_plain+0x224
    0x869abf40: user SC trap #93 by 0x41949810: srr1=0xc030
               r1=0x445fff40 cr=0x40000002 xer=0 ctr=0x41aae208 esr=0 pid=0x36

While there, cleanup IPL_ definitions somewhat and fix interrupt mask
calculation per spl(9).

OK by matt@
2006-09-27 09:11:47 +00:00
briggs
31c06a3ac5 Obvious (now that Jorge Acereda pointed it out) bug in the restoremmu
section of ENTRY(ofwr_init) (a constant offset of 4 was changed to %r4).
2006-09-25 01:45:27 +00:00
matt
6ec9b8bc84 Define a PHYSMAP_VSID for mapping pa==va. 2006-09-21 18:43:30 +00:00
matt
b62d9f714a When mapping the kernel, make to update its segment register to be valid. 2006-09-19 22:15:06 +00:00
matt
cbdd4e594a At the end of pmap_bootstrap, if PMAP_NEED_MAPKERNEL, map the kernel into
the kernel's pmap (text will be rx, data will be rw).
2006-09-19 20:19:53 +00:00
simonb
efa68b8f30 Fix white-space nit. 2006-09-19 00:50:39 +00:00
gdamore
825211a4f8 Conversion of evbppc to generic TODR. ok freza@ 2006-09-18 22:05:47 +00:00
sanjayl
e08ce7a8c2 Remove debug printf 2006-09-18 13:25:33 +00:00
gdamore
d87601b78b Remove unused todclock files -- these are left overs from pre-generic-TODR. 2006-09-17 04:11:55 +00:00
yamt
9d3e3eab23 merge yamt-pdpolicy branch.
- separate page replacement policy from the rest of kernel
	- implement an alternative replacement policy
2006-09-15 15:51:12 +00:00
garbled
50c16ab16f Apply the patch found in PR/28512 and PR/23801. Ok'd by a few people.
From the PR:
The cache is flushed using the bus address where the phys address
is required.  Errors would be seen only on ports where address
translation is done between the bus and physical memory.
2006-09-07 19:13:11 +00:00
sanjayl
3c19528c31 Remove debug printf that got left in accidentally 2006-09-07 16:00:29 +00:00
ad
6c8685b2d2 Use p_find(addr, PFIND_LOCKED) in case the proclist_lock is held. 2006-09-06 23:58:20 +00:00
matt
c8b1a4622f Add/rename macros (PVO_xxx_P) for testing WIRED, MANAGED, EXECUTABLE ness
of a PVO entry.  (Fixes where PVO_WIRED was tested against pvo_pt.pte_lo
instead of pvo_vaddr)
2006-09-02 17:08:44 +00:00
freza
fd156a0bc9 * move the "cheating" conditional into unmapiodev() implementation
itself (instead of memio_unmap()), as it differs between OEA and
  ibm4xx.

OK by matt@
2006-08-31 23:14:38 +00:00
freza
ca97defaa7 * ppc4xx_tlb_reserve(): allocate "reserved" TLB entries dynamically
* ppc4xx_tlb_mapiodev(): resolve pa to va from reserved TLB entries

OK by matt@

XXX we'll keep TLB_NRESERVED defined until we fix explora to use new API
2006-08-31 22:13:51 +00:00
freza
60d1041835 * add PVR values for Xilinx 405 cores
* don't try to decode vendor-specific PVR, print raw value instead.
* panic() if we see cache wasn't probed, we'd crash later anyway.
* rework the way PVR gets translated to core name.
* while there, normalize printf format ("%s: ...", device_xname(self), ...).

OK by matt@
2006-08-31 21:32:27 +00:00
matt
77ef4246de Call unmapiodev when unmapping bus_space to possibly reclaim the VA. 2006-08-31 18:28:47 +00:00
matt
3d324b035e Add unmapiodev(vaddr_t, vsize_t) (to be used by bus_space_unmap) 2006-08-31 18:23:40 +00:00
matt
25159b5f42 Add unmapiodev. 2006-08-31 18:18:17 +00:00
matt
d2fa9e5329 Make cpu_coredump dependent on COREDUMP 2006-08-31 16:49:21 +00:00
yamt
e527ebac6f - remove unused bdbtofsb.
- move the following macros from MD headers to sys/param.h.
	ctod
	dtoc
	ctob
	btoc
	dbtob
	btodb
2006-08-28 13:43:35 +00:00
sanjayl
265929b20e 1st cut of Powermac G5 support (uses bridge mode). 2006-08-05 21:26:48 +00:00
elad
290bf1e3e7 fix typoe; thanks ober 2006-07-25 18:14:20 +00:00
ad
f474dceb13 Use the LWP cached credentials where sane. 2006-07-23 22:06:03 +00:00
ad
2b79369c7e - Hold a reference to the process credentials in each struct lwp.
- Update the reference on syscall and user trap if p_cred has changed.
- Collect accounting flags in the LWP, and collate on LWP exit.
2006-07-19 21:11:37 +00:00
gdamore
34537908ab Add an option COM_REGMAP to allow com(4) to use an array of register indices.
This allows us to convert aucom to just another com attachment, and cleanup
some code in the com_arbus.c.

Additionally, we use a common com_cleanup routine rather than having a
zillion copies of it in the attachment points.

This has been tested on a number architectures, and it has been shown to get
close to comparable performance when COM_REGMAP is defined, and comparable
when it is not defined.

Approved by core@.  Fixes PR port-evbmips/32362.
2006-07-13 22:56:00 +00:00
ross
afb5180310 wrap as(1)-only elements in #ifdef _LOCORE 2006-07-12 23:52:21 +00:00
simonb
cc85b518f1 Remove unused ppc4xx_tlb_unpin() function. 2006-07-12 06:22:17 +00:00
thorpej
55e8bbeb6e Put appropriate prefixes on property names to reduce chances of name
collisions.
2006-07-10 16:28:44 +00:00
freza
75998ff7ee Fix recent ibm4xx/intr.c rework:
- Recalculate masks _after_ new interrupt handler is enqueued, otherwise
  the very last one won't ever be enabled (from hannken@)

- We can't use splhigh() to protect intr_calculatemasks() since it would
  use soon-to-be-invalid mask. Instead, fiddle PSL_EE directly as we do
  in other places.

Reviewed and tested (evbppc/explora) by hannken@
2006-07-10 12:52:13 +00:00
ross
dd8ab8abc4 add new split personality for ELF64 2006-07-08 06:36:42 +00:00
ross
c389a93699 Add _LP64 version of _mcount for ppc64 2006-07-07 21:28:03 +00:00
ross
d08a822069 Add stmd and lmd macros. 2006-07-07 21:26:54 +00:00
ross
96cf233754 more refinements for ppc64 PIC/PLT/TOC issues 2006-07-06 15:26:51 +00:00
scw
5914c06c4c Fix the entries for SPR_DC_ADR and SPR_DC_DAT. 2006-07-06 15:09:54 +00:00
simonb
78877867ee Remove some unused variables. 2006-07-04 06:25:50 +00:00
ross
db9b461644 Add ppc64 ENTRY() macro that defines the descriptor and the dot symbol. 2006-07-01 20:34:49 +00:00
freza
78037d3f6d Bring ibm4xx interrupt code up to date:
- generic soft interrupts (ie. use powerpc/softintr.c)
- interrupt event counters (using the ones from powerpc/cpu.h:cpu_info
  where appropriate)
- cleanup ibm4xx_intr.h, move implementation details to intr.c

Convert all affected evbppc platforms.

OK by simonb@, some points discussed with matt@
2006-06-30 17:54:50 +00:00
drochner
a3464e1d27 use the "i2cbus" interface attribute rather than putting a string name
into the i2cbus attach args
2006-06-26 18:21:38 +00:00
freza
dc25af75d0 Merge multiple definitions of cntlzw() ("count leading zeros")
instruction-wrapper to <powerpc/cpu.h>.

OK by briggs@
2006-06-13 18:24:37 +00:00
mrg
77b9fb02b9 undef memset before calling it with a destination address of 0.
GCC4.1 complains about this when using the builtin, so force
this to call the real function normally.
2006-06-04 07:32:20 +00:00
freza
fbb6d5fc9e Remove duplicate definitions of mfdcr()/mtdcr() in favor of a single one
in cpu.h

OK Matt Thomas
2006-05-30 22:44:13 +00:00
shige
b920e23d24 Move cpu_configure to evbppc/*.c.
(Remove ibm4xxgpx_autoconf.c)
I'm sorry for my wrong thinking.
2006-05-15 15:56:54 +00:00
yamt
d73ce018b0 include kauth.h for kauth_cred_geteuid. 2006-05-15 09:26:18 +00:00
yamt
069692b8ed include kauth.h for kauth_cred_geteuid. 2006-05-15 09:21:21 +00:00
elad
8ccb6c9341 integrate kauth. 2006-05-14 21:55:09 +00:00
matt
0e504287d7 Fix a problem when an exec page is mapped, modified, and then unmapped.
Make sure to either clear the execness or sync the page to the icache.

This fixes gdb testsuite failures.  Thanks for nathanw for testing.
2006-05-13 04:04:45 +00:00
nathanw
a255fcef8d Fix a typo in a comment. 2006-05-12 16:01:05 +00:00
simonb
5b933f2a90 Unwrap not-too-long long. 2006-05-07 04:45:03 +00:00
thorpej
fb44a8574b Remove the devprop API and switch everthing over to the new proplib. Add
a new device_properties() accessor for device_t that returns the device's
property dictionary.
2006-05-05 18:04:41 +00:00
simonb
02119658ff Add a NetBSD RCS id. 2006-04-12 12:30:50 +00:00
cherry
dc0898b362 closes kern/32359 2006-04-01 15:44:59 +00:00
shige
f9232cd159 Move pci_intr_map and pci_conf_interrupt functions to MD codes.
Change Max PCI devices from 5 to 31.
2006-03-29 17:50:33 +00:00
thorpej
11c16d3717 Use opb_instance instead of dv->dv_unit when checking if we should set
the mac-addr property.
2006-03-28 17:22:15 +00:00
shige
205ee851c8 Make cpu_setmcontext() fix up the passed-in MSR value. 2006-03-26 16:15:57 +00:00
drochner
47fbb9d86b adapt to uvm_fault() interface cleanup: kill the useless 3rd argument 2006-03-15 18:12:02 +00:00
shige
61e6e07d5b IBM4xx on-chip GPIO controller applying MI GPIO framework. 2006-03-13 16:17:57 +00:00
shige
17629c725d IBM4xx on-chip GPIO controller apllying MI GPIO framework. 2006-03-13 15:31:11 +00:00
yamt
04ff17cc06 fix mistakes in yamt-uio_vmspace changes. 2006-03-12 22:44:27 +00:00
lukem
a1f606d3fd Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
2006-03-08 23:46:22 +00:00
thorpej
61dd49d3bc Syscall debug tracing is handled by trace_enter() / trace_exit(). Change
trace_is_enabled() to return TRUE if SYSCALL_DEBUG is defined, and g/c
all of the SYSCALL_DEBUG handling from individual system call dispatch
routines.
2006-03-07 07:21:50 +00:00
thorpej
be8b235384 Clean up fallout proc_is_traced_p() change:
- proc_is_traced_p() -> trace_is_enabled(), to match trace_enter() and
  trace_exit().
- trace_is_enabled() becomes a real function.
- Remove unnecessary include files from various files that used to care
  about KTRACE and SYSTRACE, but do no more.
2006-03-07 03:32:04 +00:00
he
53c5776a46 syscall_fancy is only defined if either KTRACE or SYSTRACE is set,
so enclose its use in the same set of conditionals.
2006-03-06 08:05:06 +00:00
rjs
15f20d6c5b Always define syscall_fancy. 2006-03-05 22:34:34 +00:00
christos
beea4fc3fa Add a proc_is_traced_p() macro and use it, instead of copying the same code
in many places. Idea from thorpej.
2006-03-05 19:08:38 +00:00
christos
a4495f4cec implement PT_SYSCALL 2006-03-05 07:21:37 +00:00
yamt
ec5a93183a merge yamt-uio_vmspace branch.
- use vmspace rather than proc or lwp where appropriate.
  the latter is more natural to specify an address space.
  (and less likely to be abused for random purposes.)
- fix a swdmover race.
2006-03-01 12:38:10 +00:00
simonb
5034f87d7b Fix fallout from obviously untested device_is_a() rototill. 2006-02-28 01:16:59 +00:00
thorpej
132ce1f07f Use device_is_a() 2006-02-26 05:24:52 +00:00
thorpej
458b3e43f7 Use device_parent(). 2006-02-23 05:37:46 +00:00
thorpej
b636d4910e Add an "instance" member to opb_attach_args and use it when fetching
the mac-address property from board_info.  port-powerpc/32862
2006-02-21 04:25:29 +00:00
thorpej
3ddf26777f Use device_is_active() rather than testing dv_flags for DVF_ACTIVE
directly.
2006-02-20 16:50:36 +00:00
thorpej
680d9eea68 - Don't expose dev_propdb directly -- provide devprop_*() wrappers instead.
- Rework the ARMADILLO / epe device properties interaction so that it actually
  associates the MAC address property with the epe device instance.
2006-02-18 05:04:11 +00:00
perry
fbae48b901 Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
2006-02-16 20:17:12 +00:00
gdamore
8430838831 PCI_NETBSD_CONFIGURE should allocate (but not map) address space expansion
ROMS by default.   Full discussion at
http://mail-index.netbsd.org/tech-kern/2005/12/16/0023.html
Closes PR kern/32467
Reviewed by briggs@
2006-02-10 20:52:56 +00:00
dsl
498e318d85 This file only needs to #include sys/bswap.h 2006-01-31 07:51:41 +00:00
ross
3039e0bce8 Work around a PIBS bug: OF_write() doesn't get a returned count. 2006-01-22 22:53:56 +00:00
christos
3ffa241fcd Add a STRONG_ALIAS macro 2006-01-20 22:02:40 +00:00
hannken
3bb1c71f4a Fix a typo introduced in revision 1.8:
-     #define splraiseipl(x)  splraise(x)
    +     #define splraiseipl(x)  splraise(imask[x])

Approved by: YAMAMOTO Takashi <yamt@netbsd.org>
2005-12-31 14:07:32 +00:00
perry
2d542ba1f8 inline -> __inline 2005-12-28 19:09:29 +00:00
ross
0d8bcff6f5 Fix typo inside PPC_OEA64 2005-12-27 02:19:27 +00:00
perry
50a256a3a0 __asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
2005-12-24 23:23:59 +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
yamt
6bba73019a use VM_PAGE_TO_PHYS macro. 2005-12-08 22:41:44 +00:00
yamt
ba38016298 implement splraiseipl() for the following ports.
evbppc, evbmips, evbsh3, hp700, mac68k, vax, x68k.
2005-11-27 14:01:45 +00:00
yamt
bc21da4cfb bus_dmamem_map: honour BUS_DMA_NOWAIT. noted by Manuel Bouyer.
bus_space_map: always do NOWAIT allocation as it used to be before yamt-km.

we have too many copies!
2005-11-24 13:08:32 +00:00
dbj
8000972bbe . Have dbsym explicitly suggest increasing SYMTAB_SPACE when
an overflow occurs.
   . Make this error a fatal build time error
   . Move the support for dbsym into the MI Makefile.kern.inc,
     conditional upon the SYMTAB_SPACE option being defined in
     the kernel config file.
2005-11-24 12:54:29 +00:00
nonaka
292989c8b6 In decr_intr(), update lasttb only when clock interrupt is not masked.
(sync with macppc/macppc/clock.c: rev.1.11 -> 1.12)
2005-11-23 13:00:51 +00:00
matt
9b978162a2 Add MPC5200 SVR definition 2005-11-15 18:26:49 +00:00
he
dffb25a969 Complete the renaming gpio -> ppcgpio for evbppc, to make room for
the MI gpio.  Internal static functions in gpio_opb.c are not
renamed here, but the softc type is renamed together with the attach
declaration data.
2005-10-16 16:35:44 +00:00
jmc
a64b99061e Rename gpio to ppcgpio to resolve naming conflicts w. gpio framework 2005-10-13 21:38:11 +00:00
manu
bc210edac8 Fix COMPAT_DARWIN build. This closes PR#31336 2005-10-03 17:11:25 +00:00
chs
708b1a54c3 remove unnecessary extern declaration. 2005-10-02 15:10:16 +00:00
chs
0b934711f4 avoid calling into the pool code while PSL_EE is off.
the pool code can do spl*()/splx(), and splx() requires PSL_EE to be on.
2005-09-27 08:03:11 +00:00
he
1d4573eec9 We need <compat/sys/signal.h> and <compat/sys/signalvar.h> here
for native_sigset13_to_sigset, sigset13_t, and sigvec.
The includes in sparc's machdep.c is conditional on COMPAT_13, as is
the use of native_sigset13_to_sigset.
2005-09-14 15:03:50 +00:00
kiyohara
db37c957e1 Support the 'PCMCIA adapter BOX' for OpenBlockS266. 2005-09-04 15:23:55 +00:00
drochner
44bf0a7ee2 s/locdesc_t/int/g 2005-08-26 13:19:34 +00:00
simonb
bdc552eaee KNF nit. 2005-07-27 12:41:09 +00:00
christos
f1461c7e8a No point in declaring syscall_intern and syscall in a zillion places. 2005-07-10 00:45:52 +00:00
he
d9075d644b We need to name parameters in function declaration... 2005-07-03 22:23:56 +00:00
christos
6d30dcee75 PR/29607: Christian Biere systrace doesn't handle interrupted syscalls properly
Instead of jumping to the default "bad" case, jump to the error handling
switch, so that we can deal with ERESTART/EJUSTRETURN properly.
2005-07-01 18:01:44 +00:00
drochner
b081eee072 convert remaining autoconf bus "submatch" functions to use the new
signature (passing locators), and remove some which obviously don't
serve any purpose
(untested, sorry)
2005-06-28 18:29:58 +00:00
christos
4fdef695f7 the siginfo trap codes are mi. 2005-06-25 08:29:15 +00:00
christos
e6c16a46dc move ppc commpage stuff here. 2005-06-25 06:29:49 +00:00
matt
e1245a3c46 Rework the coredump code to have no explicit knownledge of how coredump
i/o is done.  Instead, pass an opaque cookie which is then passed to a
new routine, coredump_write, which does the actual i/o.  This allows the
method of doing i/o to change without affecting any future MD code.
Also, make netbsd32_core.c [re]use core_netbsd.c (in a similar manner that
core_elf64.c uses core_elf32.c) and eliminate that code duplication.
cpu_coredump{,32} is now called twice, first with a NULL iocookie to fill
the core structure and a second to actually write md parts of the coredump.
All i/o is nolonger random access and is suitable for shipping over a stream.
2005-06-10 05:10:12 +00:00
he
aafdb08c5a Fix the various todr_gettime() and todr_settime() fallouts from
-Wcast-qual differently, by instead changing the signatore of those
"functions" to take a "volatile struct timeval*" instead of a
"struct timeval*".  Many places, these functions are called with
&time, and time is declared as volatile in <sys/kernel.h>.  This
way we can get rid of all the ugly casts which now also triggered
warnings, and caused more code to be added to work around the
problem.

Reviewed by thorpej.
2005-06-04 20:14:24 +00:00
scw
6f0524c564 Appease -Wcast-qual 2005-06-03 12:13:43 +00:00
scw
47e69aa536 Appease -Wshadow and -Wcast-qual 2005-06-03 11:59:17 +00:00
scw
7052d7a847 Appease -Wcast-qual 2005-06-03 11:55:34 +00:00
scw
e8dd39d847 Appease the -Wshadow and -Wcast-qual gods. 2005-06-03 11:54:48 +00:00