Fwd: Re: Core Topology
Marcus Overhagen <
ml@...>
2009-04-19 10:36:29 GMT
Hi,
it looks like my previos mail never made it to the list. I'm resending it.
Christian Packmann schrieb:
> The current implementation in Haiku only allows CPUID input in register
> EAX; some recent CPUID functions on Intel also require an input in ECX to
> indicate the requested level of the topology. So there needs to be a new
> CPUID wrapper which also allows for inputs to ECX. I already mentioned
We could add an
get_cpuid_etc(cpuid_info *, const cpuid_params *, uint32 flags)
struct cpuid_params {
uint32 cpuNum;
uint32 eax;
uint32 ebx;
uint32 edx;
uint32 ecx;
};
Or we use a macro as in get_sem_info and break source compatibility.
status_t get_cpuid(cpuid_info *info, uint32 eaxRegister, uint32 cpuNum);
status_t _get_cpuid_etc(cpuid_info *, const cpuid_params *);
#define get_cpuid(info, param) _get_cpuid_etc(info, param)
which would overlay get_cpuid calls while still retaining binary
compatibility.
optionally, extend the cpuid_info struct
typedef union {
[...]
struct {
uint32 eax;
uint32 ebx;
uint32 edx;
uint32 ecx;
} inputs;
} cpuid_info;
instead of adding the params struct.
regards
Marcus
------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
Open-beos-kernel-devel mailing list
Open-beos-kernel-devel@...
https://lists.sourceforge.net/lists/listinfo/open-beos-kernel-devel