Skip to contentSkip to conversation

architecture-specific data in struct kvm_run ?

DISCUSSION Hollis Blanchard 4 participants 4 messages Jan 9, 2008 – Jan 10, 2008 1 message not in the archive KVM

lore
Share & tools
lore
#0 lore raw

There are a bunch of x86-specific fields in struct kvm_run:

	/* in */
	__u8 request_interrupt_window;
	__u8 padding1[7];

	/* out */
	__u8 if_flag;
	__u8 padding2[2];

	/* in (pre_kvm_run), out (post_kvm_run) */
	__u64 cr8;
	__u64 apic_base;

Since this structure is shared with all architectures, can we find a more appropriate place to keep this data? Or should we feel free to add arch-specific data here?

Signature · 9 lines
Hollis Blanchard
IBM Linux Technology Center


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
#1 lore raw
Quoted 13 lines · Hollis Blanchard

There are a bunch of x86-specific fields in struct kvm_run:

	/* in */
	__u8 request_interrupt_window;
	__u8 padding1[7];

	/* out */
	__u8 if_flag;
	__u8 padding2[2];

	/* in (pre_kvm_run), out (post_kvm_run) */
	__u64 cr8;
	__u64 apic_base;
Quoted 3 lines

Since this structure is shared with all architectures, can we find a more appropriate place to keep this data? Or should we feel free to add arch-specific data here?

Hollis,

Maybe #ifdef is enough if we other archs doesn't need to add new more. For IA64, we don't require new fields.

Xiantao

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace

A message that is not in the archive (sent off-list or not yet received): 42DFA526FC41B1429CE7279EF83C6BDCC08A9F-wq7ZOvIWXbMAbVU2wMM1CrfspsVTdybXVpNB7YpNyf8@public.gmane.org

#3 lore raw
Quoted 15 lines · Xiantao
Quoted 13 lines · Hollis Blanchard

There are a bunch of x86-specific fields in struct kvm_run:

	/* in */
	__u8 request_interrupt_window;
	__u8 padding1[7];

	/* out */
	__u8 if_flag;
	__u8 padding2[2];

	/* in (pre_kvm_run), out (post_kvm_run) */
	__u64 cr8;
	__u64 apic_base;
Quoted 10 lines
Quoted 4 lines

Since this structure is shared with all architectures, can we find a more appropriate place to keep this data? Or should we feel free to add arch-specific data here?

Hollis,

Maybe #ifdef is enough if we other archs doesn't need to add new more. For IA64, we don't require new fields.

I agree, ifdefs are best here. Maybe wrap them in a structure.

Signature · 8 lines
error compiling committee.c: too many arguments to function


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
#4 lore raw
In reply to Hollis Blanchard
Quoted 13 lines · Hollis Blanchard

There are a bunch of x86-specific fields in struct kvm_run:

	/* in */
	__u8 request_interrupt_window;
	__u8 padding1[7];

	/* out */
	__u8 if_flag;
	__u8 padding2[2];

	/* in (pre_kvm_run), out (post_kvm_run) */
	__u64 cr8;
	__u64 apic_base;
Quoted 3 lines

Since this structure is shared with all architectures, can we find a more appropriate place to keep this data? Or should we feel free to add arch-specific data here?

Afaics, we'll need an arch extension to kvm_run. On s390, we'll need different extensions then x86 has defined here. And we don't need any of above fields.

Carsten

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace