On Fri, Aug 23, 2019 at 09:07:50AM +0800, Wei Yang wrote: >On Thu, Aug 22, 2019 at 12:24:32PM +0200, Paolo Bonzini wrote: >>On 21/03/19 09:25, Wei Yang wrote: >>> PHYS_MAP_NODE_NIL is assigned to PhysPageEntry.ptr in case this is not a >>> leaf entry, while map->nodes_nb range in [0, nodes_nb_alloc). >>> >>> Seems we are asserting on two different things, just remove it. >> >>The assertion checks that this "if" is not entered incorrectly: >> >> if (lp->skip && lp->ptr == PHYS_MAP_NODE_NIL) { >> lp->ptr = phys_map_node_alloc(map, level == 0); >> } >> > >Hmm... I may not get your point. > >phys_map_node_alloc() will get an available PhysPageEntry and return its >index, which will be assigned to its parent's ptr. > >The "if" checks on the parent's ptr, while the assertion asserts the index for >the new child. I may miss something? >
Hi, Paolo, Do I miss something? -- Wei Yang Help you, Help me