>>> call + * when it encounters something that cannot be virtualized, >>> such as + * accessing hardware devices via MMIO or regular IO. + */ >>> +struct kvm_callbacks { >>> + /// For 8bit IO reads from the guest (Usually when executing >>> 'inb') + int (*inb)(void *opaque, uint16_t addr, uint8_t *data); >>> + /// For 16bit IO reads from the guest (Usually when executing >>> 'inw') + int (*inw)(void *opaque, uint16_t addr, uint16_t *data); >> >> I don't know the privious story about this thread, but now I can't >> understand the move. Why do we move all the structure to >> arch-specific ? For IA64 side, almostly we can reuse them directly, >> and just see some special fields as arch-specific. So, I think, we >> should keep common fields in kvmctl.h. > > Are you suggesting that kvm_callbacks should be the union of all > callbacks used on all architectures, and for any given architecture > only a subset are actually used?
No, not a union. I think we should keep some common fields for all archs. At least, io_callbacks should be same for all archs. So, we need to split them into two parts, one common and the other one is arch-specific. Maybe we should add an filed, such as arch to hold arch-specific fields, instead of moving them all to kvmctl-x86.h ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel