joerg
9d0743abbf
Remove .proc 1, it has been ignored by gas for ages.
2015-08-23 10:59:15 +00:00
joerg
131d1bf162
.align ensures alignment, so replace .uaword with .word.
2015-08-23 10:53:28 +00:00
martin
fe2be58712
Make clock_t unsigned
2015-06-17 14:02:47 +00:00
martin
cdb4c2869d
Slightly optimize the ITLB usage on secondary processors
2015-06-15 07:48:08 +00:00
palle
33126bce3b
sun4v: There is no L-bit (Locked) in the sun4v tte
2015-04-03 10:07:57 +00:00
palle
3307a96624
sun4v: Implement handling of cpu_mondo trap - from OpenBSD - tested using the Legion simulator
2015-04-01 18:38:30 +00:00
palle
32713ed701
sun4v: added new function mdesc_name_by_idx() for retrieving the name of a node
2015-03-22 19:33:21 +00:00
palle
9b99954a80
sun4v: Add two new functions to the mdesc api: mdesc_find_node_by_idx() and mdesc_next_node()
2015-01-19 19:46:08 +00:00
palle
1f23b7fbd1
sun4v: add hypervisor machine description (mdesc) functions - from OpenBSD
2015-01-10 22:19:26 +00:00
palle
69653b2c05
smp_tlb_flush_pte(): Avoid run-time check for cpu type/implementation by installing correct function pointer in sparc64_ip_init(). sparc64_send_ipi() is changed to a function pointer as well to avoid run-time checks.
2015-01-03 11:22:14 +00:00
nakayama
9a3560be91
Put "memory" to asm inline for reading privilege registers on sun4v
...
to avoid issuing rdpr %ver before checking cputyp as a result of
code moving by compiler optimization.
2014-12-25 14:02:03 +00:00
nakayama
662ddddb8e
Use GETVER_CPU_* macros.
2014-12-05 11:34:00 +00:00
nakayama
8cf4de8049
Make getver() into a constant function since Version Register (%ver)
...
is read only and its value is constant.
This change reduces multipule %ver reads to one in the functions
which uses a number of CPU_IS_* macros.
2014-12-05 11:31:50 +00:00
macallan
4268f6a212
Ths has been sitting in my tree for years...
...
Allow the Xserver to map PCI IO space. Not needed for Sun-branded graphics
cards but Xorg can actually cold boot a few others, which will need it.
( if only to access standard VGA registers )
2014-10-08 10:30:27 +00:00
palle
328930aec1
sun4v: add code to enable startup of secondary cpus on both sun4u and sun4v systems - ok martin@
2014-09-24 18:32:10 +00:00
palle
176790cb54
sun4v: New function prom_startcpu_by_cpuid() necessary for starting cpus on sun4v
2014-09-06 20:56:39 +00:00
palle
28626d96e1
sun4v: All cpus must be setup with a TSB descriptor, so pmap_setup_tsb_sun4v() must take a pointer to the TSB descriptor
2014-09-04 18:48:29 +00:00
joerg
eb6cc7528a
Consistently define WARN in a way that passes format string checks, i.e.
...
always uses the same number of arguments as given in the format string.
2014-08-06 21:57:48 +00:00
alnsn
582402eab5
Rename sljitarch.h to sljit_machdep.h.
2014-07-23 18:19:43 +00:00
palle
b9bfbf041f
sun4v: Introduce SET_MMU_CONTEXTID macro for setting the mmu context id on both sun4u and sun4v
2014-07-16 19:53:18 +00:00
nakayama
ad1e005541
Make bus_space_barrier inline to avoid unnecessary argument handling.
2014-07-14 12:40:38 +00:00
jdc
faaa24402e
Increase maximum MSGBUFSIZE to 248k.
...
While here, remove 2 sparc(32)-only entries (from mrg@).
2014-07-10 06:24:02 +00:00
palle
3b6687ae32
sun4v: make tlb_flush_pte() work on sun4v - parts from OpenBSD - ok martin@
2014-06-08 17:33:24 +00:00
palle
2fd31a2c0c
sun4v: ensure that it is possible to include the hypervisor.h file more than once
2014-06-05 18:36:44 +00:00
martin
9c098a4b96
Implement and enable TOPDOWN_VM. From Chuck Silvers.
2014-04-14 10:54:08 +00:00
christos
e58a356cba
make pci_intr_string and eisa_intr_string take a buffer and a length
...
instead of relying in local static storage.
2014-03-29 19:28:24 +00:00
palle
f2f5d9ff51
sun4v: SUN4V_TLB_TSB_LOCK define should have the same LL (instead of UL) as the other defines
2014-03-03 05:05:09 +00:00
palle
4ad8530004
sun4v: Rename TLB_ defines to SUN4U_TLB_ so entries created using TSB_DATA() are properly setup for sun4u and sun4v. Relocate the cputyp variable from autoconf.c to locore.s and make it const in param.h so optimized code can be generated. Parts from OpenBSD. Optimization suggested by nakayama@. OK martin@, mrg@, nakayama@
2014-02-21 18:00:09 +00:00
nakayama
c7c583d9f6
Make sljit usable on sparc64 32-bit kernels.
2014-02-01 17:01:35 +00:00
palle
f08e82f640
sun4v: Update description of the ci_mmfsa field in the cpu_info structure
2014-01-09 20:28:23 +00:00
macallan
96f3c05159
allow non-SUN4V kernels to build
2014-01-09 12:51:27 +00:00
palle
6c190f50bb
sun4v: trap table setup - currently populated with dummy entries which will be properly implemented later - parts from OpenBSD - OK martin@
2014-01-07 20:11:35 +00:00
dsl
95739e63cd
Remove __HAVE_PROCESS_XFPREGS and add the extra parameter for the size
...
of the fp save area to all the process_read_fpregs() and
process_write_fpregs() functions.
None of the functions have been modified to use the new parameters.
The size is set for all the writes, but some of the arch-specific reads
just pass NULL.
The amd64 (and i386) need variable sized fp register save areas in order
to support AVX and other enhanced register areas.
These functions are rarely called - so the extra argument won't matter.
2014-01-04 00:10:02 +00:00
palle
f4d9eaa0a8
a) make the hunt through the cpus list more generic b) sun4v: ensure that the interrupt stack is mapped permanently and the TSB is setup properly - parts from OpenBSD. OK martin@
2013-12-27 21:11:19 +00:00
palle
418e019b05
Updates to pmap_bootstrap() for sun4v - parts from OpenBSD - OK martin@
2013-12-16 20:17:34 +00:00
palle
b11afb2f13
Add support for running ofwboot on sun4v. Please note that the kernel on sun4v will be loaded properly but when the kernel takes over it will crash immediately since the kernel is not sun4v ready yet
2013-12-08 14:41:28 +00:00
palle
6886e0915b
Added missing $ to sun4v sypervisor API
2013-12-07 16:54:43 +00:00
palle
fbadee00dd
sun4v hypervisor API - from OpenBSD
2013-12-07 15:36:39 +00:00
martin
eeff5755ca
Allow TOPDOWN-VM only for binaries compiled with appropriate code model.
...
No change yet, as __HAVE_TOPDOWN is not yet defined.
2013-11-14 12:11:13 +00:00
christos
abc81f7c5e
use __unused instead of __USE and void cast to mark iterator variable unused
...
where needed (from phone)
2013-11-10 00:50:13 +00:00
jdc
2353478d91
Allow machine_banner and machine_model to be used outside autoconf.c, for
...
example, by drivers that need to match on model name. Suggested by mrg@.
2013-10-26 18:47:27 +00:00
martin
123d15c260
Make CPU_INFO_FOREACH more gcc 4.8.1 friendly
2013-09-13 21:36:38 +00:00
martin
4073f8732b
Disallow MAP_FIXED mmap's in the sparc64 VA hole (XXX - need to deal with
...
different variants of the hole for different CPU types)
2013-09-11 18:27:44 +00:00
macallan
975e4c65ca
support UltraSPARC-IIe STICK counter as time base
2013-08-20 19:19:23 +00:00
martin
6e62732fa1
Remove ancient spl* variants no longer used
2013-08-18 09:31:38 +00:00
nakayama
cd7b58e068
Avoid data_access_error trap panic when reading unused PCI
...
configuration space.
This method is described in UltraSPARC IIi User's Manual "16.2.1
Probing PCI during boot using deferred errors", and refer to the
implementation of OpenBSD.
2013-06-21 20:09:58 +00:00
nakayama
aa19dc536d
Use macros in machine/asm.h instead of locally defined, and
...
introduce CASPTRA for casxa/casa.
2013-04-28 23:42:23 +00:00
christos
ca64aca745
move the useful macros somewhere where they can be used in userland.
2013-03-16 23:04:22 +00:00
macallan
fdec22e96e
add a sysctl.vis node that indicated which version of the VIS instruction set
...
is supported. Currently this will be 1 for UltraSPARC I and II, 2 for
UltraSPARC-III and up
2013-02-04 22:19:43 +00:00
martin
e52a2b055b
Rearange VA layout for 64 bit kernels, as suggested by Lars Heidieker:
...
move the dynamic kernel memory past 4GB (basically unlimiting it) and
use the now freed address range past kernel data upto 2GB for modules.
2013-01-03 09:40:55 +00:00