RE: [PATCH RFC] paravirt_ops: refactor struct paravirt_ops into smaller pv_*_ops
From: Nakajima, Jun <hidden>
Date: 2007-09-28 23:25:25
Also in:
lkml
From: Nakajima, Jun <hidden>
Date: 2007-09-28 23:25:25
Also in:
lkml
Jeremy Fitzhardinge wrote:
This patch refactors the paravirt_ops structure into groups of functionally related ops: pv_info - random info, rather than function entrypoints pv_init_ops - functions used at boot time (some for module_init too) pv_misc_ops - lazy mode, which didn't fit well anywhere else pv_time_ops - time-related functions pv_cpu_ops - various privileged instruction ops pv_irq_ops - operations for managing interrupt state pv_apic_ops - APIC operations pv_mmu_ops - operations for managing pagetables
Good. These make sense to me.
+ .pv_irq_ops = {
+ .init_IRQ = native_init_IRQ,
+ .save_fl = native_save_fl,
+ .restore_fl = native_restore_fl,
+ .irq_disable = native_irq_disable,
+ .irq_enable = native_irq_enable,
+ .safe_halt = native_safe_halt,
+ .halt = native_halt,
+ },I think the halt stuff should be moved to pv_cpu_ops?
+ .pv_misc_ops = {
+ .set_lazy_mode = paravirt_nop,
+ },Or you can split it to pv_cpu_ops and pv_mmu_ops, assuming that they don't need to interact with each other in terms of the lazy handling. Jun --- Intel Open Source Technology Center