mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-23 14:07:42 +00:00
misc: add the define of MAX_IR_ENTRIES
The current code align MAX_IR_ENTRIES with the roundup to 2^n of the CONFIG_MAX_PT_IRQ_ENTRIES, there is an issue of the powerof2_roundup to calculate the macro, and the code style is very ugly when we use macro to fix it. So this patch move the calculate and define of MAX_IR_ENTRIES to offline tool. Signed-off-by: Chenli Wei <chenli.wei@intel.com> Reviewed-by: Junjie Mao <junjie.mao@intel.com>
This commit is contained in:
parent
12b81d83ca
commit
f7094466cb
@ -7,6 +7,20 @@
|
||||
|
||||
import common
|
||||
|
||||
def powerof2_roundup(value):
|
||||
return 0 if value == 0 else (1 << (value - 1).bit_length())
|
||||
|
||||
# Make sure all PT IRQs work w/ interrupt remapping or post interrupt
|
||||
def create_max_ir_entries(scenario_etree, allocation_etree):
|
||||
pt_irq_entries = common.get_node(f"//MAX_PT_IRQ_ENTRIES/text()", scenario_etree)
|
||||
if (pt_irq_entries is not None) and (int(pt_irq_entries) > 256):
|
||||
ir_entries = powerof2_roundup(int(pt_irq_entries))
|
||||
else:
|
||||
ir_entries = 256
|
||||
|
||||
common.append_node("/acrn-config/hv/MAX_IR_ENTRIES", ir_entries, allocation_etree)
|
||||
|
||||
def fn(board_etree, scenario_etree, allocation_etree):
|
||||
pci_bus_nums = board_etree.xpath("//bus[@type='pci']/@address")
|
||||
common.append_node("/acrn-config/platform/MAX_PCI_BUS_NUM", hex(max(map(lambda x: int(x, 16), pci_bus_nums)) + 1), allocation_etree)
|
||||
create_max_ir_entries(scenario_etree, allocation_etree)
|
||||
|
@ -34,6 +34,7 @@
|
||||
<xsl:call-template name="vm_count" />
|
||||
<xsl:call-template name="sos_vm_bootarges" />
|
||||
<xsl:call-template name="vm_vuart_num" />
|
||||
<xsl:value-of select = "acrn:define('MAX_IR_ENTRIES', //MAX_IR_ENTRIES, 'U')" />
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name ="vm_vuart_num">
|
||||
|
Loading…
Reference in New Issue
Block a user