Commit Graph

721 Commits

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