flat assembler
Message board for the users of flat assembler.
Index
> Main > Support for syscall/sysret by Intel? |
Author |
|
revolution 01 Oct 2009, 08:02
SYSCALL/SYSRET are listed in the manuals, version 31, June 2009. Freely downloadable from the Intel site. Clearly states only valid in 64bit mode.
[edit] Going back through my manuals I see it was listed sometime after 2004 and on or before version 16, June 2005. |
|||
01 Oct 2009, 08:02 |
|
asmfan 01 Oct 2009, 08:32
then you say that syscall/sysret is supported since 2004 CPUs? Regardless cpuid values? Or what? That's not the answer.
Again i been misread? Use cpuid and give results then there will be a statistics of right and wrong cpuid behaviors of ia-32e CPUs even w/o knowing the reason. |
|||
01 Oct 2009, 08:32 |
|
revolution 01 Oct 2009, 08:50
From what I can tell, all 64bit capable CPUs support them when in 64bit mode. EDX bit 11, from CPUID 80000001, will be =1 when in 64bit mode and =0 when in 32bit mode.
Are you saying that some CPUs will not correctly report EDX bit 11? |
|||
01 Oct 2009, 08:50 |
|
asmfan 01 Oct 2009, 08:56
OK! Found this paper Cross-vendor migration
Where popularly explained that cpuid behaves differently in ia-32e and ia-32e compat. mode. If cpuid executes in 32-bit mode (incl. ia-32e compat.) it states that no syscall available and in pure ia-32e then syscall available. I thought cpuid has constant capabilities reports but not. for intel. What about AMD? _________________ Any offers? |
|||
01 Oct 2009, 08:56 |
|
revolution 01 Oct 2009, 09:08
IIRC AMD invented the syscall/sysret and support them in both 32 and 64 bit modes.
You cannot assume CPUID gives constant values, there are many settings that can affect values returned, in both AMD and Intel. |
|||
01 Oct 2009, 09:08 |
|
asmfan 01 Oct 2009, 09:21
examples? Which settings exactly?
Here only the strict reason can explain that syscall bit is only set under ia-32e mode code/cpuid/ execution by intel but even setting MSRs to disable smth. like NX/XD will affect actual CPU behavior and not cpuid values I guess... who tryed? |
|||
01 Oct 2009, 09:21 |
|
revolution 01 Oct 2009, 09:33
One example is just what you have been talking about above.
|
|||
01 Oct 2009, 09:33 |
|
revolution 01 Oct 2009, 09:34
Another example is that you can change the brand string to arbitrary values.
|
|||
01 Oct 2009, 09:34 |
|
asmfan 01 Oct 2009, 09:57
In intel cpus? never heard of. Actually i doubt about cpuid volatility (except for those caps that can be run only under exact conditions: syscall/sysret caps under ia-32e only).
Another example - disable TSC in CR4 only leads to exception on execution in R3 not change the cpuid output. Or your example implies microcode change during 2 cpuid executions? |
|||
01 Oct 2009, 09:57 |
|
revolution 01 Oct 2009, 10:06
asmfan wrote: In intel cpus? asmfan wrote: never heard of. Actually i doubt about cpuid volatility (except for those caps that can be run only under exact conditions: syscall/sysret caps under ia-32e only). |
|||
01 Oct 2009, 10:06 |
|
asmfan 01 Oct 2009, 10:42
What's about amd tech doc? There is 25481 describing cpuid. but can't find anithing about volatility of cpuid depending on anything else.
And that one (cpuid 80000001/syscall) Intel-only related. AMD doesn't have such at all as I know for now. Let's say it's constant till said otherwise and revealed dependencies. |
|||
01 Oct 2009, 10:42 |
|
revolution 01 Oct 2009, 11:28
The AMD doc shows how to change the brand string returned by CPUID.
|
|||
01 Oct 2009, 11:28 |
|
asmfan 01 Oct 2009, 13:17
Now i see it in 2.3 and table 6 shows which are modifiable. However this maybe can be applied only for old athlons (x32 only IIRC?) and not affects any other capabilities than mere naming moreover this ability not described in late cpuid specs for up-to-date cpus. Can't test it mysef no amd cpu but this is doubtful for me for recent cpus
The other point is that all capabilities are fixed and the MSRs/other regs (XCRx) are only enable/disable them but cpuid enumerates them all regardless enabled status. |
|||
01 Oct 2009, 13:17 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.