Print this page
de-linting of .s files
m
*** 27,45 ****
#include <sys/asm_linkage.h>
#include <sys/asm_misc.h>
#include <sys/regset.h>
#include <sys/psw.h>
- #if defined(__lint)
-
- #include <sys/types.h>
- #include <sys/thread.h>
- #include <sys/systm.h>
- #include <sys/lgrp.h>
-
- #else /* __lint */
-
#include <sys/pcb.h>
#include <sys/trap.h>
#include <sys/ftrace.h>
#include <sys/traptrace.h>
#include <sys/clock.h>
--- 27,36 ----
*** 46,91 ****
#include <sys/panic.h>
#include <sys/privregs.h>
#include "assym.h"
- #endif /* __lint */
-
- #if defined(__lint)
-
- hrtime_t
- get_hrtime(void)
- { return (0); }
-
- hrtime_t
- get_hrestime(void)
- {
- hrtime_t ts;
-
- gethrestime((timespec_t *)&ts);
- return (ts);
- }
-
- hrtime_t
- gethrvtime(void)
- {
- klwp_t *lwp = ttolwp(curthread);
- struct mstate *ms = &lwp->lwp_mstate;
-
- return (gethrtime() - ms->ms_state_start + ms->ms_acct[LMS_USER]);
- }
-
- uint64_t
- getlgrp(void)
- {
- return (((uint64_t)(curthread->t_lpl->lpl_lgrpid) << 32) |
- curthread->t_cpu->cpu_id);
- }
-
- #else /* __lint */
-
/*
* XX64: We are assuming that libc continues to expect the 64-bit value being
* returned in %edx:%eax. We further assume that it is safe to leave
* the top 32-bit intact in %rax as they will be ignored by libc. In
* other words, if the 64-bit value is already in %rax, while we manually
--- 37,47 ----
*** 93,104 ****
* 32 bits of %rax, we don't zero them out in %rax.
* The following amd64 versions will need to be changed if the above
* assumptions are not true.
*/
- #if defined(__amd64)
-
.globl gethrtimef
ENTRY_NP(get_hrtime)
FAST_INTR_PUSH
movq gethrtimef(%rip), %rax
INDIRECT_CALL_REG(rax)
--- 49,58 ----
*** 106,129 ****
shrq $32, %rdx /* high 32-bit in %edx */
FAST_INTR_POP
FAST_INTR_RETURN
SET_SIZE(get_hrtime)
- #elif defined(__i386)
-
- .globl gethrtimef
- ENTRY_NP(get_hrtime)
- FAST_INTR_PUSH
- call *gethrtimef
- FAST_INTR_POP
- FAST_INTR_RETURN
- SET_SIZE(get_hrtime)
-
- #endif /* __i386 */
-
- #if defined(__amd64)
-
.globl gethrestimef
ENTRY_NP(get_hrestime)
FAST_INTR_PUSH
subq $TIMESPEC_SIZE, %rsp
movq %rsp, %rdi
--- 60,69 ----
*** 134,162 ****
addq $TIMESPEC_SIZE, %rsp
FAST_INTR_POP
FAST_INTR_RETURN
SET_SIZE(get_hrestime)
- #elif defined(__i386)
-
- .globl gethrestimef
- ENTRY_NP(get_hrestime)
- FAST_INTR_PUSH
- subl $TIMESPEC_SIZE, %esp
- pushl %esp
- call *gethrestimef
- movl _CONST(4 + 0)(%esp), %eax
- movl _CONST(4 + CLONGSIZE)(%esp), %edx
- addl $_CONST(4 + TIMESPEC_SIZE), %esp
- FAST_INTR_POP
- FAST_INTR_RETURN
- SET_SIZE(get_hrestime)
-
- #endif /* __i386 */
-
- #if defined(__amd64)
-
ENTRY_NP(gethrvtime)
FAST_INTR_PUSH
call gethrtime_unscaled /* get time since boot */
movq %gs:CPU_LWP, %rcx /* current lwp */
subq LWP_MS_STATE_START(%rcx), %rax /* - ms->ms_state_start */
--- 74,83 ----
*** 171,208 ****
shrq $32, %rdx /* high 32-bit in %rdx */
FAST_INTR_POP
FAST_INTR_RETURN
SET_SIZE(gethrvtime)
- #elif defined(__i386)
-
- ENTRY_NP(gethrvtime)
- FAST_INTR_PUSH
- call gethrtime_unscaled /* get time since boot */
- movl %gs:CPU_LWP, %ecx /* current lwp */
- subl LWP_MS_STATE_START(%ecx), %eax /* - ms->ms_state_start */
- sbbl LWP_MS_STATE_START+4(%ecx), %edx
- addl LWP_ACCT_USER(%ecx), %eax /* add ms->ms_acct[LMS_USER] */
- adcl LWP_ACCT_USER+4(%ecx), %edx
- subl $0x8, %esp
- leal (%esp), %ecx
- movl %eax, (%ecx)
- movl %edx, 4(%ecx)
- pushl %ecx
- call scalehrtime
- popl %ecx
- movl (%ecx), %eax
- movl 4(%ecx), %edx
- addl $0x8, %esp
- FAST_INTR_POP
- FAST_INTR_RETURN
- SET_SIZE(gethrvtime)
-
- #endif /* __i386 */
-
- #if defined(__amd64)
-
ENTRY_NP(getlgrp)
FAST_INTR_PUSH
movq %gs:CPU_THREAD, %rcx
movq T_LPL(%rcx), %rcx
movl LPL_LGRPID(%rcx), %edx
--- 92,101 ----
*** 209,228 ****
movl %gs:CPU_ID, %eax
FAST_INTR_POP
FAST_INTR_RETURN
SET_SIZE(getlgrp)
- #elif defined(__i386)
-
- ENTRY_NP(getlgrp)
- FAST_INTR_PUSH
- movl %gs:CPU_THREAD, %ecx
- movl T_LPL(%ecx), %ecx
- movl LPL_LGRPID(%ecx), %edx
- movl %gs:CPU_ID, %eax
- FAST_INTR_POP
- FAST_INTR_RETURN
- SET_SIZE(getlgrp)
-
- #endif /* __i386 */
-
- #endif /* __lint */
--- 102,106 ----