[fpc-pascal] EpikTimer v1.0.1 released
Michael Schnell
mschnell at lumino.de
Mon Jun 2 11:28:16 CEST 2014
On 06/02/2014 11:06 AM, Sven Barth wrote:
>
>
> Addendum: yes, the RTL calls the core DLLs of the Win32 subsystem like
> kernel32.dll, but they are just that: the core DLLs of the Win32
> subsystem. They don't implement any core OS functionality like
> hardware/device management, because that is done by the NT kernel
> below it which is called by the Win32 DLLs if needed using the
> ntdll.dll which acts as a gateway to the kernel (some calls will do a
> Syscall then, for example hardware related functions, while others
> like functions to handle list structures will stay in the current
> mode). That's basically a remnant of the microkernel nature of the NT OS.
>
>
This is rather similar to what I assumed.
Hence, if (as your other post suggests) that Kernel dll switches to
Kernel mode to access TSC in an X86 archs while this is not necessary,
that is a fault of Windows' and not a fault of fpc's and hence we can't
help it. As we found, "blindly" reading is not a good idea, so a really
fast rtl function would need to detect the CPU sub-arch and act
appropriately. I understand that this is close to impossible.
-Michael
More information about the fpc-pascal
mailing list