hannken
3b5501efa7
Cleanup last by using a "n"umeric address space identifier.
...
Ok: Martin Husemann <martin@netbsd.org>
2007-03-31 13:04:21 +00:00
martin
a63279589c
When invalidating a context, make sure to flush user windows upfront.
...
Do not set the DMMU secondary context to 0 (that would be kernel), and
add a few required membars after switching the secondary dmmu context.
This avoids SIRs caused by double kernel_data_faults, caused by spills
of obsolete user windows after the context for that user pmap is gone.
2007-03-30 21:14:13 +00:00
cdi
d0f8217f78
Use ANSI-style function definitions and declarations.
2006-02-20 19:00:27 +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
cdi
d50f0c6274
ANSIfication: u_intN_t -> uintN_t, use ANSI function declarations/definitions
...
instead of K&R ones.
2006-02-11 17:57:31 +00:00
perry
50a256a3a0
__asm__ -> __asm
...
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
2005-12-24 23:23:59 +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
petrov
a021a66c36
Added UPA_MID definitions and macros(similar to FreeBSD).
...
Added membar_store, membar_load macros.
No need to set %asi _after_ alternate space use in corresponding functions.
Enable(unifdef) casa functions for __arch64__.
2004-07-01 22:59:16 +00:00
heas
66307fc36e
typo in define name, littie -> little
2004-07-01 14:57:46 +00:00
martin
44eda0ad6b
Add missing ; in inline assembler for 32bit kernels
2004-06-24 19:42:27 +00:00
petrov
ac26f9468c
clean-up, reformat __asm statements.
2004-06-17 19:35:14 +00:00
nakayama
3a065cad6a
Eliminate cast 64-bit address to u_long.
2004-03-22 12:24:37 +00:00
chs
cec587ddf6
checkpoint of MP work from dennis and myself. includes cross-processor
...
interrupt framework, a sledgehammer TLB invalidation and misc MP fixes.
doesn't work at all yet.
2004-03-14 18:18:54 +00:00
eeh
dcb399fc7c
Don't need to flush the d$ for MMU bypass accesses.
2002-04-24 23:54:24 +00:00
eeh
59339eac04
Make PHYS_ASI() also recognize little-endian ASIs.
2002-01-14 20:44:30 +00:00
eeh
c633b30dd4
Add some alternate spellings for ASIs.
...
Make sure ASI_PRIMARY_NOFAULT is always restored.
Garbage collect some old code.
2001-08-06 23:55:34 +00:00
eeh
0c4549ab71
Don't bother flushing cache lines for un-cached accesses.
2001-07-19 23:47:37 +00:00
eeh
5df2260776
Add the shorter version of block ASIs used by Sun.
2001-06-29 23:56:05 +00:00
eeh
a5ecd862b1
Fix some 32-bit assembly code.
2000-12-29 17:13:33 +00:00
fvdl
2c81c82473
Comment out caxsa, it's not used. Avoids 32 bit compile errors.
2000-12-04 20:14:05 +00:00
eeh
a17d71cd4b
Fix register sheduling bug in st?a() routines and add casxa().
2000-08-31 19:08:47 +00:00
eeh
3143adecfb
Tell gcc that stores clobber "memory". Probably makes no difference since
...
they should not be used to access normal memory anyway.
2000-07-14 21:02:11 +00:00
eeh
6c5d2dbbac
With these changes the kernel seems almost stable again.
2000-06-24 20:48:36 +00:00
eeh
85cab8fe27
More VM cleanup:
...
Move the cpu_info structure above the interrupt stack so it won't
get corrupted if the stack overflows.
Flush the D$ before and after all MMU bypass accesses since the
D$ latches all of those.
2000-06-24 04:38:20 +00:00
eeh
75eaa6ba70
lda is unsigned, ldswa is signed. Fixes a 32-bit sign extension bug.
2000-06-20 18:06:12 +00:00
eeh
245619bad4
Have separate data and text segments, make text read-only.
2000-06-19 23:30:32 +00:00
eeh
d26027dd5b
Only use 32-bit addresses for all accesses that don't bypass the MMU.
...
Makes SBus work again.
2000-06-10 20:51:43 +00:00
eeh
6baca0c1ad
Fixup signed/unsigned issues so 32-bit addresses are not sign extended.
2000-06-08 17:43:24 +00:00
pk
9a8d03d6bd
Add a couple of missing semi-colons.
2000-06-07 09:16:41 +00:00
eeh
03228642f7
Use all 64 address bits in ld*a()/st*a() macros so physical device addresses
...
work. (Also add some bus_space_*() debug hooks).
2000-06-02 22:56:32 +00:00
mrg
304778e6c2
- IRSR_BUSY is bit 5 not bit 4.
...
- IRSR_MID(x) is &'d with 0x1f (5 bits) not 0xf.
2000-04-10 16:05:13 +00:00
mrg
30c351dc59
mmm, missing return types make gcc unhappy.
1999-06-08 10:35:36 +00:00
eeh
186c3eba2b
Make pbrobeget() and probeset() work for 64-bit values as well. To do this
...
the arguments are changed so the address is first and the ASI second so we
can have the address in %o0:%o1 and not worry about unused registers.
Also a bit of copyright cleanup.
1999-06-05 21:58:16 +00:00
eeh
07d5dfdd7b
Fix some bugs in some more of those asm macros.
1999-05-31 00:13:16 +00:00
eeh
cd53dbd506
Re-write ASI load/stores to use full 64-bit addresses so we can use device
...
register addresses with MMU bypass ASIs.
1999-05-30 19:11:33 +00:00
eeh
56b080bed6
Fixup argument confusion to __asm() statements. long long is two registers
...
wide in 32-bit mode. Doh!.
1999-05-22 20:25:49 +00:00
eeh
564db48540
Don't clobber any input regs in __asm statements.
1999-05-11 05:06:17 +00:00
eeh
f0503a65c8
Flush D$ on bypass accesses.
1999-03-22 05:35:39 +00:00
mrg
7006310cbd
retire _LP64; use compiler provided __arch64__, but still defined _LP64 where we used to anyway.
1999-01-31 09:21:18 +00:00
eeh
08af05f929
Fix 32-bit gcc scheduling problems.
1998-11-13 03:47:15 +00:00
eeh
a112a2a4cc
It slices. It dices. It does everything except exec a sparc32_compat init.
1998-09-05 23:57:24 +00:00
eeh
cf9a8a5a53
Periodic update: now starts probing devices.
1998-09-02 05:51:35 +00:00
eeh
01e2e698b6
Import of sparc64.
1998-06-20 04:58:50 +00:00