{"push_id":558186310,"size":11,"distinct_size":11,"ref":"refs/heads/next","head":"dfedfcfcbc6ec7f979785389f4f7dc655925b9c4","before":"eb0a2cd16b8bb9deb30a099c724dfbdd0ccaca8e","commits":[{"sha":"cd2a125c843ae9ccc4f492724faf47a38919bfc6","author":{"email":"a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","name":"Jan Kiszka"},"message":"x86: Move vtd_init_fault_nmi from cell creation to config commit\n\nThis avoids that we change the DMAR unit settings before the setup\nprocess succeeded. Will help to fix the roll-back on errors.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","distinct":true,"url":"https://api.github.com/repos/siemens/jailhouse/commits/cd2a125c843ae9ccc4f492724faf47a38919bfc6"},{"sha":"f307c5c1b22767ffbcbdbac1036d9a2c70578867","author":{"email":"a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","name":"Jan Kiszka"},"message":"x86: Fix error roll-back for vtd\n\nIf we fail the hypervisor setup before vtd_init_unit was run, we must\nnot try to restore anything during iommu_shutdown. This happened to far\nand caused Linux crashes as well as spurious NMI injections.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","distinct":true,"url":"https://api.github.com/repos/siemens/jailhouse/commits/f307c5c1b22767ffbcbdbac1036d9a2c70578867"},{"sha":"32bf494b4345e0ce58c53725ffb7fff89ae1bc36","author":{"email":"a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","name":"Jan Kiszka"},"message":"x86: Only hand over IOAPICs pins to the root cell that are in use\n\nUse the bitmap of currently assigned IOAPIC pins to hand them over to\nthe root cell, not those that are initially assigned. That makes a\ndifference when shutting down the hypervisor while some pins are still\nowned by a non-root cell. During startup, both bitmaps are identical.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","distinct":true,"url":"https://api.github.com/repos/siemens/jailhouse/commits/32bf494b4345e0ce58c53725ffb7fff89ae1bc36"},{"sha":"55a2d289306527c25ba9ec58e13db8a44e85b5ad","author":{"email":"a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","name":"Jan Kiszka"},"message":"tools: Extend config generator to process multiple IOAPICs\n\nAs a first step towards full support of more than one IOAPIC, extend the\nconfig generator to process multiple IOAPIC entries in the DMAR table.\nIt used the MADT (\"APIC\") table to collect further information about the\nfound IOAPICs and lists them all in the irqchips array.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","distinct":true,"url":"https://api.github.com/repos/siemens/jailhouse/commits/55a2d289306527c25ba9ec58e13db8a44e85b5ad"},{"sha":"c9b2cffb3fa74d1b83501e751627f8eeccdedcae","author":{"email":"a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","name":"Jan Kiszka"},"message":"x86: Filter out unsupported numbers of irqchips\n\nSo far we only support a single IOAPIC per cell on x86. Soon this number\nwill be increased significantly, but a limit will remain. Filter out any\nunsupported configurations during cell-specific IOAPIC setup.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","distinct":true,"url":"https://api.github.com/repos/siemens/jailhouse/commits/c9b2cffb3fa74d1b83501e751627f8eeccdedcae"},{"sha":"62ff07404d56c1fff302d9fe0283284442c7dd73","author":{"email":"a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","name":"Jan Kiszka"},"message":"core: Make for_each_[non_root_]cell globally available\n\nWe are going to use the for_each_cell iterator in the IOAPIC module. To\nremain consistent, export both of them.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","distinct":true,"url":"https://api.github.com/repos/siemens/jailhouse/commits/62ff07404d56c1fff302d9fe0283284442c7dd73"},{"sha":"3382f168ca030e324f48a82f29114e16d3124dad","author":{"email":"a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","name":"Jan Kiszka"},"message":"x86: Introduce phys_ioapic abstraction\n\nThis structure will keep static and dynamic information about a physical\nIOAPIC in a system. The three global variables ioapic_lock, ioapic and\nshadow_redir_table are moved over, and an array of phys_ioapic\nstructures takes over their place. There is still only a single instance\nsupported, but once we have more, the physical base address will be used\nto differentiate between them and also look them up from the array.\n\nInternal functions of the IOAPIC subsystem are converted to make use of\nthe abstraction.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","distinct":true,"url":"https://api.github.com/repos/siemens/jailhouse/commits/3382f168ca030e324f48a82f29114e16d3124dad"},{"sha":"3029f4f60d7430afae4359122066d111fe5b7725","author":{"email":"a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","name":"Jan Kiszka"},"message":"x86: Set up physical IOAPIC on cell creation\n\nIn preparation to support multiple IOAPICs, instantiate their physical\nstate phys_ioapic only on demand during cell creation. For simplicity\nreasons, those instances will not be released on cell destruction again.\nThat means, once created, physical IOAPIC states and mappings stay with\nthe hypervisor until it is disabled again.\n\nNote: Parts of the code keep their single-IOAPIC restrictions for now.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","distinct":true,"url":"https://api.github.com/repos/siemens/jailhouse/commits/3029f4f60d7430afae4359122066d111fe5b7725"},{"sha":"b8efa00e284caf8b078f328beeb88020ddadc3d1","author":{"email":"a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","name":"Jan Kiszka"},"message":"x86: Prepare ioapic_shutdown for multiple IOAPICs\n\nIterate over all physical IOAPICs during shutdown to write their\nshadow states into the hardware.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","distinct":true,"url":"https://api.github.com/repos/siemens/jailhouse/commits/b8efa00e284caf8b078f328beeb88020ddadc3d1"},{"sha":"f72de19edea4ba0fcd52bd11e86694d34f7787cb","author":{"email":"a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","name":"Jan Kiszka"},"message":"x86: Introduce per-cell IOAPIC state\n\nThis introduces per-cell IOAPIC static and dynamic information. It\nreplaces related cell fields with a reference to an array of cell_ioapic\nstructures. As we do not want to keep a large array for every cell, even\nthose that do not use the IOAPIC (typically all non-root cells), the\narray is keep in a page allocated on demand during cell creation.\n\nUsing this abstraction obsoletes ioapic_find_config and moves us a bit\nfurther away from the assumption that there is only a single IOAPIC.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","distinct":true,"url":"https://api.github.com/repos/siemens/jailhouse/commits/f72de19edea4ba0fcd52bd11e86694d34f7787cb"},{"sha":"dfedfcfcbc6ec7f979785389f4f7dc655925b9c4","author":{"email":"a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","name":"Jan Kiszka"},"message":"x86: Account for multiple IOAPICs per cell\n\nFinally overcome the limitation of only one IOAPIC per cell, thus also\nper system. We either look up the IOAPIC from the cell array based on\nits physical address or we iterate over all IOAPICs of a cell when\nneeded - that's all. A good sign that we achieved this is the removal of\nthe IOAPIC_BASE_ADDR constant.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","distinct":true,"url":"https://api.github.com/repos/siemens/jailhouse/commits/dfedfcfcbc6ec7f979785389f4f7dc655925b9c4"}]}