Before this patch, that routine was being called too much on each new
partition setup.

Now we just repeat in a row for cell creation. We do that because cell
resets after creation still need that.

Signed-off-by: Gustavo Lima Chaves <[email protected]>
---
 hypervisor/control.c | 2 ++
 hypervisor/pci.c     | 2 --
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/hypervisor/control.c b/hypervisor/control.c
index 52ef8733..ecb1b26c 100644
--- a/hypervisor/control.c
+++ b/hypervisor/control.c
@@ -571,6 +571,8 @@ static int cell_start(struct per_cpu *cpu_data, unsigned 
long id)
        cell->comm_page.comm_region.cell_state = JAILHOUSE_CELL_RUNNING;
        cell->comm_page.comm_region.msg_to_cell = JAILHOUSE_MSG_NONE;
 
+       /* we issue FLR twice on a cell creation now (the other place
+        * being device handover from the root cell) */
        pci_cell_reset(cell);
        arch_cell_reset(cell);
 
diff --git a/hypervisor/pci.c b/hypervisor/pci.c
index 9ee9dee4..76666b34 100644
--- a/hypervisor/pci.c
+++ b/hypervisor/pci.c
@@ -753,8 +753,6 @@ static int pci_add_physical_device(struct cell *cell, 
struct pci_device *device)
        }
 
        device->cell = cell;
-       if (cell != &root_cell)
-               pci_reset_device(device);
 
        return 0;
 
-- 
2.14.3

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to