Alex Ionescu wrote:
I've read Geoff's stuff and even know him -- that doesn't make him MSDN.
His pages are not "documentation", they're the same thing you can get yourself from IDA.
Years later and still the same ignorance. Copying code with IDA is not what we are supposed to do! It's documented, so I don't need to use IDA or copy MS assembly code. Guess what: this is called "clean room reverse engineering". Never heard of?
At some point the amd64 port will need one or the other interface. I could implement the old, amd64 only and *completely* undocumented interface or I can just give a shit about that interface and directly go for the newer, shared with x86 and documented interface. And the fact that the old interface it's not documented makes it actually easier for me to decide. No driver is going to use it, so we don't need it. If you ever find a driver that uses that interface, I promise I will instantly fix it.
Yes, you would probably do the former and reverse it completely, but that's not what I'm going to do.
The point remains there should NOT be post NT 5.2+ code in kernel-mode. If you don't understand this, I can ask Aleksey to clarify.
What is post 5.2 code? Everything that is not 1:1 reversed MS code? Or everything that uses techniqes or implements features that weren't present in NT5.2? It would mean we would be stuck with a 5.2 kernel forever, because there's no chance to "instantly" substitute the whole kernel with a 6.0 kernel or 6.1 kernel. That will never work. So we only have one chance and that is introducing post 5.2 features in our kernel bit by bit.
And btw, Aleksey is currently developing a wine based win32 subsystem. I don't really expect him to be a "purity fundamentalist" in that aspect.
If you don't want the code, great. I will not add it to x86 hal. It will be amd64 only.
Also, these routines were purposely implemented to replace Ke ABIOS interface for EM64T (because you can't do Virtual 8086 easily from Long mode) and EFI (because there is no Video BIOS) systems, so I do know what I'm talking about.
It still has nothing to do with EFI. A x86 real mode emulator doesn't help you with EFI. "Reserved for EFI" is bs. Period.
Thanks, Timo