Commit Graph

28 Commits

Author SHA1 Message Date
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