mirror of
https://git.code.sf.net/p/quake/quakeforge-old
synced 2024-11-14 08:20:57 +00:00
c3f5581b0a
Unchained, Ultimate, Ultra, Up Yours, Underworld, Underground, Unified, Unity, etc. You know the drill. This takes care of the "standalone" problem with the wrong name, and the recent snafu with multiple developers working on the same files simultaneously...expect me (and probably others) to start locking dirs when updates are taking place. And yes, this update is really as large as it looks. Software only at the moment, but I will have the makefile updated to build the GL builds as well.
77 lines
1.2 KiB
ArmAsm
77 lines
1.2 KiB
ArmAsm
#include "asm_i386.h"
|
|
|
|
.data
|
|
fpenv: .long 0, 0, 0, 0, 0, 0, 0, 0
|
|
|
|
.text
|
|
.globl C(StartMSRInterval)
|
|
C(StartMSRInterval):
|
|
movl $0x11,%ecx // read the CESR
|
|
.byte 0x0F
|
|
.byte 0x32 // RDMSR
|
|
|
|
andl $0xFE3FFE3F,%eax // stop both counters
|
|
.byte 0x0F
|
|
.byte 0x30 // WRMSR
|
|
|
|
movl 4(%esp),%eax // point counter 0 to desired event, with counters
|
|
andl $0x3F,%eax // still stopped
|
|
movl $0x11,%ecx
|
|
.byte 0x0F
|
|
.byte 0x30 // WRMSR
|
|
|
|
movl $0x12,%ecx // set counter 0 to the value 0
|
|
subl %eax,%eax
|
|
subl %edx,%edx
|
|
.byte 0x0F
|
|
.byte 0x30 // WRMSR
|
|
|
|
movl 4(%esp),%eax // restart counter 0 with selected event
|
|
andl $0x3F,%eax
|
|
subl %edx,%edx
|
|
orl $0xC0,%eax
|
|
movl $0x11,%ecx // control and event select
|
|
.byte 0x0F
|
|
.byte 0x30 // WRMSR
|
|
|
|
ret
|
|
|
|
.globl C(EndMSRInterval)
|
|
C(EndMSRInterval):
|
|
movl $0x12,%ecx // counter 0
|
|
.byte 0x0F
|
|
.byte 0x32 // RDMSR
|
|
|
|
ret // lower 32 bits of count in %eax
|
|
|
|
#if 0
|
|
.data
|
|
Lxxx: .long 0
|
|
|
|
.text
|
|
|
|
.globl C(setstackcheck)
|
|
C(setstackcheck):
|
|
|
|
movl %esp,%eax
|
|
subl $0x38000,%eax
|
|
movl $0x5A5A5A5A,(%eax)
|
|
movl %eax,Lxxx
|
|
|
|
ret
|
|
|
|
|
|
.globl C(dostackcheck)
|
|
C(dostackcheck):
|
|
|
|
movl Lxxx,%edx
|
|
movl $0,%eax
|
|
|
|
cmpl $0x5A5A5A5A,(%edx)
|
|
jz qqq
|
|
incl %eax
|
|
qqq:
|
|
|
|
ret
|
|
#endif
|
|
|