=== NEW TEST ===
Lookup @sigma0 node at phys=0
0:     space=sigma0 vaddr=0x0 size=0x200000

Lookup @sigma0 node at phys=0 after inserting sub-mapping
0:     space=sigma0 vaddr=0x0 size=0x200000
1: ==>  space=other vaddr=0x8000 size=0x4000

Lookup @sigma0 at phys=2*2M
0:     space=sigma0 vaddr=0x400000 size=0x200000

Lookup @sigma0 at phys=2*superpage after inserting sub-mapping
0:     space=sigma0 vaddr=0x400000 size=0x200000
1: ==>  space=other vaddr=0x800000 size=0x200000

Lookup @other at phys=4*superpage
1:      space=other vaddr=0x800000 size=0x200000

Lookup @sigma0 node at phys=2*superpage after inserting sub-mapping
0:     space=sigma0 vaddr=0x400000 size=0x200000
1:      space=other vaddr=0x800000 size=0x200000
1:      space=client vaddr=0x3c000 size=0x4000

=== DONE TEST ===


=== NEW TEST ===
Lookup @grandfather phys=0
0:     space=sigma0 vaddr=0x0 size=0x200000

Insert father mapping
0:     space=sigma0 vaddr=0x0 size=0x200000
1:      space=father vaddr=0x0 size=0x4000

Lookup @father at phys=0
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000

Insert son mapping
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

Lookup @father at phys=0
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

Insert daughter mapping
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=daughter vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

Lookup @son at phys=0
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=daughter vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

mapping tree: { sigma0 va=0x0 size=0x200000
  header info: lock: 0
  : subtree...
  mapping tree: { sigma0 va=0x0 size=0x4000
    header info: lock: 1
    :   va=0x0 space=father depth=1
    :     va=0x0 space=daughter depth=2
    :     va=0x0 space=son depth=2
  } // mapping tree: sigma0 va=0x0
} // mapping tree: sigma0 va=0x0

Son has accident on return from disco
mapping tree: { sigma0 va=0x0 size=0x200000
  header info: lock: 0
  : subtree...
  mapping tree: { sigma0 va=0x0 size=0x4000
    header info: lock: 0
    :   va=0x0 space=father depth=1
    :     va=0x0 space=daughter depth=2
  } // mapping tree: sigma0 va=0x0
} // mapping tree: sigma0 va=0x0

Lost aunt returns from holiday
0:     space=sigma0 vaddr=0x0 size=0x200000
1:      space=father vaddr=0x0 size=0x4000
2:       space=daughter vaddr=0x0 size=0x4000

Insert @aunt mapping
0:     space=sigma0 vaddr=0x0 size=0x200000
1:      space=aunt vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=daughter vaddr=0x0 size=0x4000

mapping tree: { sigma0 va=0x0 size=0x200000
  header info: lock: 0
  : subtree...
  mapping tree: { sigma0 va=0x0 size=0x4000
    header info: lock: 0
    :   va=0x0 space=aunt depth=1
    :   va=0x0 space=father depth=1
    :     va=0x0 space=daughter depth=2
  } // mapping tree: sigma0 va=0x0
} // mapping tree: sigma0 va=0x0

Lookup @daughter at phys=0
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=aunt vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=daughter vaddr=0x0 size=0x4000

=== DONE TEST ===


=== NEW TEST ===
Lookup @grandfather
0:     space=sigma0 vaddr=0x0 size=0x200000

Inserting father mapping
0:     space=sigma0 vaddr=0x0 size=0x200000
1:      space=father vaddr=0x0 size=0x4000

Lookup father at phys=0
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000

Insert son mapping
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

Lost aunt returns from holidays
0:     space=sigma0 vaddr=0x0 size=0x200000
1:      space=father vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

Insert aunt mapping
0:     space=sigma0 vaddr=0x0 size=0x200000
1:      space=aunt vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

Lookup father at phys=0
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=aunt vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

Father is killed by his new love
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=aunt vaddr=0x0 size=0x4000

=== DONE TEST ===


=== NEW TEST ===
Lookup @sigma0 node at phys=0
0:     space=sigma0 vaddr=0x0 size=0x40000000

Lookup @sigma0 node at phys=0 after inserting sub-mapping
0:     space=sigma0 vaddr=0x0 size=0x40000000
1: ==>  space=other vaddr=0x8000 size=0x4000

Lookup @sigma0 at phys=2*2M
0:     space=sigma0 vaddr=0x0 size=0x40000000
1: ==>  space=other vaddr=0x8000 size=0x4000

Lookup @sigma0 at phys=2*superpage after inserting sub-mapping
0:     space=sigma0 vaddr=0x0 size=0x40000000
1:      space=other vaddr=0x8000 size=0x4000
1: ==>  space=other vaddr=0x800000 size=0x200000

Lookup @other at phys=4*superpage
1:      space=other vaddr=0x800000 size=0x200000

Lookup @sigma0 node at phys=2*superpage after inserting sub-mapping
0:     space=sigma0 vaddr=0x400000 size=0x200000
1:      space=other vaddr=0x800000 size=0x200000
1:      space=client vaddr=0x3c000 size=0x4000

=== DONE TEST ===


=== NEW TEST ===
Lookup @grandfather phys=0
0:     space=sigma0 vaddr=0x0 size=0x40000000

Insert father mapping
0:     space=sigma0 vaddr=0x0 size=0x40000000
1:      space=father vaddr=0x0 size=0x4000

Lookup @father at phys=0
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000

Insert son mapping
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

Lookup @father at phys=0
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

Insert daughter mapping
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=daughter vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

Lookup @son at phys=0
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=daughter vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

mapping tree: { sigma0 va=0x0 size=0x40000000
  header info: lock: 0
  : subtree...
  mapping tree: { sigma0 va=0x0 size=0x400000
    header info: lock: 0
    : subtree...
    mapping tree: { sigma0 va=0x0 size=0x200000
      header info: lock: 0
      : subtree...
      mapping tree: { sigma0 va=0x0 size=0x4000
        header info: lock: 1
        :   va=0x0 space=father depth=1
        :     va=0x0 space=daughter depth=2
        :     va=0x0 space=son depth=2
      } // mapping tree: sigma0 va=0x0
    } // mapping tree: sigma0 va=0x0
  } // mapping tree: sigma0 va=0x0
} // mapping tree: sigma0 va=0x0

Son has accident on return from disco
mapping tree: { sigma0 va=0x0 size=0x40000000
  header info: lock: 0
  : subtree...
  mapping tree: { sigma0 va=0x0 size=0x400000
    header info: lock: 0
    : subtree...
    mapping tree: { sigma0 va=0x0 size=0x200000
      header info: lock: 0
      : subtree...
      mapping tree: { sigma0 va=0x0 size=0x4000
        header info: lock: 0
        :   va=0x0 space=father depth=1
        :     va=0x0 space=daughter depth=2
      } // mapping tree: sigma0 va=0x0
    } // mapping tree: sigma0 va=0x0
  } // mapping tree: sigma0 va=0x0
} // mapping tree: sigma0 va=0x0

Lost aunt returns from holiday
0:     space=sigma0 vaddr=0x0 size=0x40000000
1:      space=father vaddr=0x0 size=0x4000
2:       space=daughter vaddr=0x0 size=0x4000

Insert @aunt mapping
0:     space=sigma0 vaddr=0x0 size=0x40000000
1:      space=aunt vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=daughter vaddr=0x0 size=0x4000

mapping tree: { sigma0 va=0x0 size=0x40000000
  header info: lock: 0
  : subtree...
  mapping tree: { sigma0 va=0x0 size=0x400000
    header info: lock: 0
    : subtree...
    mapping tree: { sigma0 va=0x0 size=0x200000
      header info: lock: 0
      : subtree...
      mapping tree: { sigma0 va=0x0 size=0x4000
        header info: lock: 0
        :   va=0x0 space=aunt depth=1
        :   va=0x0 space=father depth=1
        :     va=0x0 space=daughter depth=2
      } // mapping tree: sigma0 va=0x0
    } // mapping tree: sigma0 va=0x0
  } // mapping tree: sigma0 va=0x0
} // mapping tree: sigma0 va=0x0

Lookup @daughter at phys=0
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=aunt vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=daughter vaddr=0x0 size=0x4000

=== DONE TEST ===


=== NEW TEST ===
Lookup @grandfather
0:     space=sigma0 vaddr=0x0 size=0x40000000

Inserting father mapping
0:     space=sigma0 vaddr=0x0 size=0x40000000
1:      space=father vaddr=0x0 size=0x4000

Lookup father at phys=0
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000

Insert son mapping
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

Lost aunt returns from holidays
0:     space=sigma0 vaddr=0x0 size=0x40000000
1:      space=father vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

Insert aunt mapping
0:     space=sigma0 vaddr=0x0 size=0x40000000
1:      space=aunt vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

Lookup father at phys=0
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=aunt vaddr=0x0 size=0x4000
1:      space=father vaddr=0x0 size=0x4000
2:       space=son vaddr=0x0 size=0x4000

Father is killed by his new love
0:     space=sigma0 vaddr=0x0 size=0x4000
1:      space=aunt vaddr=0x0 size=0x4000

=== DONE TEST ===


=== NEW TEST ===
# Lookup Sigma0_addr_4
0:     space=sigma0 vaddr=0xc0000000 size=0x40000000

# Insert sub-mapping page @other
Insert: other va=0x8000 pa=0xd2004000 order=0
0:     space=sigma0 vaddr=0xc0000000 size=0x40000000
1: ==>  space=other vaddr=0x8000 size=0x4000

# Get that mapping again
1:      space=other vaddr=0x8000 size=0x4000

# Insert sub-mapping 2M @other
Insert: other va=0x400000 pa=0xd2200000 order=7
0:     space=sigma0 vaddr=0xc0000000 size=0x40000000
1:      space=other vaddr=0x8000 size=0x4000
1: ==>  space=other vaddr=0x400000 size=0x200000

# Get that mapping again
1:      space=other vaddr=0x400000 size=0x200000

# Insert sub-mapping 2M @aunt
Insert: aunt va=0x200000 pa=0xd2000000 order=7
0:     space=sigma0 vaddr=0xc0000000 size=0x40000000
1:      space=other vaddr=0x8000 size=0x4000
1: ==>  space=aunt vaddr=0x200000 size=0x200000
1:      space=other vaddr=0x400000 size=0x200000

# Map page FROM 4M @other TO Son_addr_2 @son
Insert: son va=0xa0000000 pa=0xd2200000 order=0
1:      space=other vaddr=0x400000 size=0x200000
1: ==>  space=son vaddr=0xa0000000 size=0x4000

# Unmap 2M FROM 4M @other...
unmap son va=0xa0000000 for node:
state after flush
# Unmap 2M FROM poffs + 2M @sigma0...
unmap other va=0x400000 for node:
state after flush
# Unmap 1 page FROM 2*page @other
state after flush
# Map 2*4MB FROM Sigma0_addr_3 @sigma0 TO Father_addr @father
Insert: father va=0x3000000 pa=0x51000000 order=8
0:     space=sigma0 vaddr=0x40000000 size=0x40000000
1: ==>  space=father vaddr=0x3000000 size=0x400000

Insert: father va=0x3400000 pa=0x51400000 order=8
0:     space=sigma0 vaddr=0x40000000 size=0x40000000
1:      space=father vaddr=0x3000000 size=0x400000
1: ==>  space=father vaddr=0x3400000 size=0x400000

# Get first 8MB mapping
1:      space=father vaddr=0x3000000 size=0x400000

# Map 3*2MB FROM Father_addr + 2M @father TO Aunt_addr_2 @aunt
Insert: aunt va=0x4000000 pa=0x51200000 order=7
1:      space=father vaddr=0x3000000 size=0x400000
1: ==>  space=aunt vaddr=0x4000000 size=0x200000

Insert: aunt va=0x4200000 pa=0x51400000 order=7
1:      space=father vaddr=0x3400000 size=0x400000
1: ==>  space=aunt vaddr=0x4200000 size=0x200000

Insert: aunt va=0x4400000 pa=0x51600000 order=7
1:      space=father vaddr=0x3400000 size=0x400000
1:      space=aunt vaddr=0x4200000 size=0x200000
1: ==>  space=aunt vaddr=0x4400000 size=0x200000

# Map 3 pages FROM Aunt_addr_2 + page @aunt TO Client_addr_1 @client
Insert: client va=0x8000 pa=0x51204000 order=0
1:      space=aunt vaddr=0x4000000 size=0x200000
1: ==>  space=client vaddr=0x8000 size=0x4000

Insert: client va=0xc000 pa=0x51208000 order=0
1:      space=aunt vaddr=0x4000000 size=0x200000
1:      space=client vaddr=0x8000 size=0x4000
1: ==>  space=client vaddr=0xc000 size=0x4000

Insert: client va=0x10000 pa=0x5120c000 order=0
1:      space=aunt vaddr=0x4000000 size=0x200000
1:      space=client vaddr=0x8000 size=0x4000
1:      space=client vaddr=0xc000 size=0x4000
1: ==>  space=client vaddr=0x10000 size=0x4000

# Unmap 1 page FROM Father_addr + 2M + 2*page @father
unmap aunt va=0x4000000 for node:
unmap client va=0x8000 for node:
unmap client va=0xc000 for node:
unmap client va=0x10000 for node:
state after flush
# Map 4M FROM Father_addr @father TO Aunt_addr_3 @aunt
Insert: aunt va=0x5000000 pa=0x51000000 order=8
1:      space=father vaddr=0x3000000 size=0x400000
2: ==>   space=aunt vaddr=0x5000000 size=0x400000

# Map 3 pages FROM aunt at Aunt_addr_3 + 2M + page TO client at Client_addr_2
Insert: client va=0x48000 pa=0x51204000 order=0
2:       space=aunt vaddr=0x5000000 size=0x400000
1: ==>  space=client vaddr=0x48000 size=0x4000

Insert: client va=0x4c000 pa=0x51208000 order=0
2:       space=aunt vaddr=0x5000000 size=0x400000
1:      space=client vaddr=0x48000 size=0x4000
1: ==>  space=client vaddr=0x4c000 size=0x4000

Insert: client va=0x50000 pa=0x5120c000 order=0
2:       space=aunt vaddr=0x5000000 size=0x400000
1:      space=client vaddr=0x48000 size=0x4000
1:      space=client vaddr=0x4c000 size=0x4000
1: ==>  space=client vaddr=0x50000 size=0x4000

# Unmap 1 page FROM Aunt_addr_3 + 2M + page + page @aunt
unmap client va=0x4c000 for node:
state after flush
# Map 3 pages FROM Sigma0_addr_2 - page @sigma0 TO Client_addr_3 @client
Insert: client va=0x88000 pa=0x31fc000 order=0
0:     space=sigma0 vaddr=0x0 size=0x40000000
1: ==>  space=client vaddr=0x88000 size=0x4000

Insert: client va=0x8c000 pa=0x3200000 order=0
0:     space=sigma0 vaddr=0x0 size=0x40000000
1:      space=client vaddr=0x88000 size=0x4000
1: ==>  space=client vaddr=0x8c000 size=0x4000

Insert: client va=0x90000 pa=0x3204000 order=0
0:     space=sigma0 vaddr=0x0 size=0x40000000
1:      space=client vaddr=0x88000 size=0x4000
1:      space=client vaddr=0x8c000 size=0x4000
1: ==>  space=client vaddr=0x90000 size=0x4000

# Map 1G from Sigma0_addr_1 @sigma0 to Daughter_addr @daughter
Insert: daughter va=0x40000000 pa=0x0 order=16
0:     space=sigma0 vaddr=0x0 size=0x40000000
1:      space=client vaddr=0x88000 size=0x4000
1:      space=client vaddr=0x8c000 size=0x4000
1:      space=client vaddr=0x90000 size=0x4000
1: ==>  space=daughter vaddr=0x40000000 size=0x40000000

# Map 3 pages FROM daughter TO client at Client_addr_4
Insert: client va=0xc8000 pa=0x31fc000 order=0
1:      space=daughter vaddr=0x40000000 size=0x40000000
1: ==>  space=client vaddr=0xc8000 size=0x4000

Insert: client va=0xcc000 pa=0x3200000 order=0
1:      space=daughter vaddr=0x40000000 size=0x40000000
1:      space=client vaddr=0xc8000 size=0x4000
1: ==>  space=client vaddr=0xcc000 size=0x4000

Insert: client va=0xd0000 pa=0x3204000 order=0
1:      space=daughter vaddr=0x40000000 size=0x40000000
1:      space=client vaddr=0xc8000 size=0x4000
1:      space=client vaddr=0xcc000 size=0x4000
1: ==>  space=client vaddr=0xd0000 size=0x4000

# Map 2*2M FROM Daughter_addr + 3*16M @daughter to Client_addr_6 @client
Insert: client va=0x20000000 pa=0x3000000 order=7
1:      space=daughter vaddr=0x40000000 size=0x40000000
1:      space=client vaddr=0xc8000 size=0x4000
1: ==>  space=client vaddr=0x20000000 size=0x200000
1:      space=client vaddr=0xcc000 size=0x4000
1:      space=client vaddr=0xd0000 size=0x4000

Insert: client va=0x20200000 pa=0x3200000 order=7
1:      space=daughter vaddr=0x40000000 size=0x40000000
1:      space=client vaddr=0xc8000 size=0x4000
1:      space=client vaddr=0x20000000 size=0x200000
1:      space=client vaddr=0xcc000 size=0x4000
1:      space=client vaddr=0xd0000 size=0x4000
1: ==>  space=client vaddr=0x20200000 size=0x200000

# Map 4M from Daughter_addr + 3*16M @daughter to Son_addr_1 @son
Insert: son va=0x20000000 pa=0x3000000 order=8
1:      space=daughter vaddr=0x40000000 size=0x40000000
1:      space=client vaddr=0xc8000 size=0x4000
1:      space=client vaddr=0x20000000 size=0x200000
1:      space=client vaddr=0xcc000 size=0x4000
1:      space=client vaddr=0xd0000 size=0x4000
1:      space=client vaddr=0x20200000 size=0x200000
1: ==>  space=son vaddr=0x20000000 size=0x400000

# Map page from Son_addr_1 + 2M @son to Client_addr_5 @client
Insert: client va=0x100000 pa=0x3200000 order=0
1:      space=son vaddr=0x20000000 size=0x400000
1: ==>  space=client vaddr=0x100000 size=0x4000

# Map page from Son_addr_1 + 2M + page @son to Client_addr_5 + page @client
Insert: client va=0x104000 pa=0x3204000 order=0
1:      space=son vaddr=0x20000000 size=0x400000
1:      space=client vaddr=0x100000 size=0x4000
1: ==>  space=client vaddr=0x104000 size=0x4000

mapping tree: { sigma0 va=0x0 size=0x40000000
  header info: lock: 0
  : subtree...
  mapping tree: { sigma0 va=0x3000000 size=0x400000
    header info: lock: 0
    : subtree...
    mapping tree: { sigma0 va=0x3000000 size=0x200000
      header info: lock: 0
      : subtree...
      mapping tree: { sigma0 va=0x31fc000 size=0x4000
        header info: lock: 0
        :   va=0x88000 space=client depth=1
      } // mapping tree: sigma0 va=0x31fc000
    } // mapping tree: sigma0 va=0x3000000
    mapping tree: { sigma0 va=0x3200000 size=0x200000
      header info: lock: 0
      : subtree...
      mapping tree: { sigma0 va=0x3200000 size=0x4000
        header info: lock: 0
        :   va=0x8c000 space=client depth=1
      } // mapping tree: sigma0 va=0x3200000
      mapping tree: { sigma0 va=0x3204000 size=0x4000
        header info: lock: 0
        :   va=0x90000 space=client depth=1
      } // mapping tree: sigma0 va=0x3204000
    } // mapping tree: sigma0 va=0x3200000
  } // mapping tree: sigma0 va=0x3000000
  :   va=0x40000000 space=daughter depth=1
  : subtree...
    mapping tree: { daughter va=0x43000000 size=0x400000
      header info: lock: 0
      : subtree...
      mapping tree: { daughter va=0x43000000 size=0x200000
        header info: lock: 0
        : subtree...
        mapping tree: { daughter va=0x431fc000 size=0x4000
          header info: lock: 1
          :   va=0xc8000 space=client depth=1
        } // mapping tree: daughter va=0x431fc000
        :   va=0x20000000 space=client depth=1
      } // mapping tree: daughter va=0x43000000
      mapping tree: { daughter va=0x43200000 size=0x200000
        header info: lock: 0
        : subtree...
        mapping tree: { daughter va=0x43200000 size=0x4000
          header info: lock: 0
          :   va=0xcc000 space=client depth=1
        } // mapping tree: daughter va=0x43200000
        mapping tree: { daughter va=0x43204000 size=0x4000
          header info: lock: 0
          :   va=0xd0000 space=client depth=1
        } // mapping tree: daughter va=0x43204000
        :   va=0x20200000 space=client depth=1
      } // mapping tree: daughter va=0x43200000
      :   va=0x20000000 space=son depth=1
      : subtree...
        mapping tree: { son va=0x20200000 size=0x200000
          header info: lock: 0
          : subtree...
          mapping tree: { son va=0x20200000 size=0x4000
            header info: lock: 1
            :   va=0x100000 space=client depth=1
          } // mapping tree: son va=0x20200000
          mapping tree: { son va=0x20204000 size=0x4000
            header info: lock: 1
            :   va=0x104000 space=client depth=1
          } // mapping tree: son va=0x20204000
        } // mapping tree: son va=0x20200000
    } // mapping tree: daughter va=0x43000000
} // mapping tree: sigma0 va=0x0
# Unmap 1 page FROM Daughter_addr + 3*16M + 2M @daughter
unmap client va=0xcc000 for node:
unmap client va=0x20200000 for node:
unmap son va=0x20000000 for node:
unmap client va=0x100000 for node:
unmap client va=0x104000 for node:
state after flush
mapping tree: { sigma0 va=0x0 size=0x40000000
  header info: lock: 0
  : subtree...
  mapping tree: { sigma0 va=0x3000000 size=0x400000
    header info: lock: 0
    : subtree...
    mapping tree: { sigma0 va=0x3000000 size=0x200000
      header info: lock: 0
      : subtree...
      mapping tree: { sigma0 va=0x31fc000 size=0x4000
        header info: lock: 0
        :   va=0x88000 space=client depth=1
      } // mapping tree: sigma0 va=0x31fc000
    } // mapping tree: sigma0 va=0x3000000
    mapping tree: { sigma0 va=0x3200000 size=0x200000
      header info: lock: 0
      : subtree...
      mapping tree: { sigma0 va=0x3200000 size=0x4000
        header info: lock: 0
        :   va=0x8c000 space=client depth=1
      } // mapping tree: sigma0 va=0x3200000
      mapping tree: { sigma0 va=0x3204000 size=0x4000
        header info: lock: 0
        :   va=0x90000 space=client depth=1
      } // mapping tree: sigma0 va=0x3204000
    } // mapping tree: sigma0 va=0x3200000
  } // mapping tree: sigma0 va=0x3000000
  :   va=0x40000000 space=daughter depth=1
  : subtree...
    mapping tree: { daughter va=0x43000000 size=0x400000
      header info: lock: 0
      : subtree...
      mapping tree: { daughter va=0x43000000 size=0x200000
        header info: lock: 0
        : subtree...
        mapping tree: { daughter va=0x431fc000 size=0x4000
          header info: lock: 1
          :   va=0xc8000 space=client depth=1
        } // mapping tree: daughter va=0x431fc000
        :   va=0x20000000 space=client depth=1
      } // mapping tree: daughter va=0x43000000
      mapping tree: { daughter va=0x43200000 size=0x200000
        header info: lock: 0
        : subtree...
        mapping tree: { daughter va=0x43204000 size=0x4000
          header info: lock: 0
          :   va=0xd0000 space=client depth=1
        } // mapping tree: daughter va=0x43204000
      } // mapping tree: daughter va=0x43200000
    } // mapping tree: daughter va=0x43000000
} // mapping tree: sigma0 va=0x0
# Map page from Daughter_addr + 3*16M + 2M @daughter to Client_addr_4 + page @client
Insert: client va=0xcc000 pa=0x3200000 order=0
1:      space=daughter vaddr=0x40000000 size=0x40000000
1:      space=client vaddr=0xc8000 size=0x4000
1:      space=client vaddr=0x20000000 size=0x200000
1: ==>  space=client vaddr=0xcc000 size=0x4000
1:      space=client vaddr=0xd0000 size=0x4000

# Unmap 1 page FROM Sigma0_addr_2 @sigma0
mapping tree: { sigma0 va=0x0 size=0x40000000
  header info: lock: 0
  : subtree...
  mapping tree: { sigma0 va=0x3000000 size=0x400000
    header info: lock: 0
    : subtree...
    mapping tree: { sigma0 va=0x3000000 size=0x200000
      header info: lock: 0
      : subtree...
      mapping tree: { sigma0 va=0x31fc000 size=0x4000
        header info: lock: 0
        :   va=0x88000 space=client depth=1
      } // mapping tree: sigma0 va=0x31fc000
    } // mapping tree: sigma0 va=0x3000000
    mapping tree: { sigma0 va=0x3200000 size=0x200000
      header info: lock: 0
      : subtree...
      mapping tree: { sigma0 va=0x3200000 size=0x4000
        header info: lock: 0
        :   va=0x8c000 space=client depth=1
      } // mapping tree: sigma0 va=0x3200000
      mapping tree: { sigma0 va=0x3204000 size=0x4000
        header info: lock: 0
        :   va=0x90000 space=client depth=1
      } // mapping tree: sigma0 va=0x3204000
    } // mapping tree: sigma0 va=0x3200000
  } // mapping tree: sigma0 va=0x3000000
  :   va=0x40000000 space=daughter depth=1
  : subtree...
    mapping tree: { daughter va=0x43000000 size=0x400000
      header info: lock: 0
      : subtree...
      mapping tree: { daughter va=0x43000000 size=0x200000
        header info: lock: 0
        : subtree...
        mapping tree: { daughter va=0x431fc000 size=0x4000
          header info: lock: 1
          :   va=0xc8000 space=client depth=1
        } // mapping tree: daughter va=0x431fc000
        :   va=0x20000000 space=client depth=1
      } // mapping tree: daughter va=0x43000000
      mapping tree: { daughter va=0x43200000 size=0x200000
        header info: lock: 0
        : subtree...
        mapping tree: { daughter va=0x43200000 size=0x4000
          header info: lock: 1
          :   va=0xcc000 space=client depth=1
        } // mapping tree: daughter va=0x43200000
        mapping tree: { daughter va=0x43204000 size=0x4000
          header info: lock: 1
          :   va=0xd0000 space=client depth=1
        } // mapping tree: daughter va=0x43204000
      } // mapping tree: daughter va=0x43200000
    } // mapping tree: daughter va=0x43000000
} // mapping tree: sigma0 va=0x0
unmap client va=0x8c000 for node:
unmap daughter va=0x40000000 for node:
unmap client va=0xc8000 for node:
unmap client va=0x20000000 for node:
unmap client va=0xcc000 for node:
unmap client va=0xd0000 for node:
state after flush
mapping tree: { sigma0 va=0x0 size=0x40000000
  header info: lock: 0
  : subtree...
  mapping tree: { sigma0 va=0x3000000 size=0x400000
    header info: lock: 0
    : subtree...
    mapping tree: { sigma0 va=0x3000000 size=0x200000
      header info: lock: 0
      : subtree...
      mapping tree: { sigma0 va=0x31fc000 size=0x4000
        header info: lock: 1
        :   va=0x88000 space=client depth=1
      } // mapping tree: sigma0 va=0x31fc000
    } // mapping tree: sigma0 va=0x3000000
    mapping tree: { sigma0 va=0x3200000 size=0x200000
      header info: lock: 0
      : subtree...
      mapping tree: { sigma0 va=0x3204000 size=0x4000
        header info: lock: 1
        :   va=0x90000 space=client depth=1
      } // mapping tree: sigma0 va=0x3204000
    } // mapping tree: sigma0 va=0x3200000
  } // mapping tree: sigma0 va=0x3000000
} // mapping tree: sigma0 va=0x0
=== DONE TEST ===
