Opened 15 years ago
Closed 15 years ago
#136 closed defect (fixed)
Autodetect support for SYSENTER on ia32
Reported by: | Jakub Jermář | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 0.4.2 |
Component: | helenos/kernel/ia32 | Version: | mainline |
Keywords: | Cc: | ||
Blocker for: | Depends on: | ||
See also: |
Description
As of now, HelenOS will not boot if SYSENTER is not supported by the processor. (This is currently preventing us to run on VirtualBox).
The kernel supports both the SYSENTER and INT syscall mechanisms, as well as libc, there just need to be some minor changes done:
- the kernel needs to initialize the SYSENTER MSR's only if it detects that the CPU supports SYSENTER using the CPUID instruction
- the libc needs to detect whether SYSENTER is supported, again using the CPUID instruction, and setup the syscall mechanism for the "fast" syscall path accordingly; this can be done by using some sort of a function pointer or code patching
Note:
See TracTickets
for help on using tickets.
Fixed in [head,119].