Print this page
Initial fix LX for IPD 38

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/intel/brand/lx/lx_archdep.c
          +++ new/usr/src/uts/intel/brand/lx/lx_archdep.c
↓ open down ↓ 1441 lines elided ↑ open up ↑
1442 1442                   * Note: the amd64 ucontext_t is 864 bytes.
1443 1443                   */
1444 1444                  ucontext_t uc;
1445 1445  
1446 1446                  /*
1447 1447                   * We do not want to save the signal mask for an emulation
1448 1448                   * context.  Some emulated system calls alter the signal mask;
1449 1449                   * restoring it when the emulation is complete would clobber
1450 1450                   * those intentional side effects.
1451 1451                   */
1452      -                savecontext(&uc, NULL);
     1452 +                /* XXX KEBE ASKS PLUMB UP EXTENDED?!? */
     1453 +                savecontext(&uc, NULL, 0);
1453 1454  
1454 1455                  if (on_fault(&lab)) {
1455 1456                          goto badstack;
1456 1457                  }
1457 1458  
1458 1459                  /*
1459 1460                   * Mark this as a system call emulation context:
1460 1461                   */
1461 1462                  uc.uc_brand_data[0] = (void *)((uintptr_t)
1462 1463                      uc.uc_brand_data[0] | LX_UC_FRAME_IS_SYSCALL);
↓ open down ↓ 147 lines elided ↑ open up ↑
1610 1611                   * Note: ucontext32_t is 512 bytes.
1611 1612                   */
1612 1613                  ucontext32_t uc;
1613 1614  
1614 1615                  /*
1615 1616                   * We do not want to save the signal mask for an emulation
1616 1617                   * context.  Some emulated system calls alter the signal mask;
1617 1618                   * restoring it when the emulation is complete would clobber
1618 1619                   * those intentional side effects.
1619 1620                   */
1620      -                savecontext32(&uc, NULL);
     1621 +                /* XXX KEBE ASKS PLUMB UP EXTENDED?!? */
     1622 +                savecontext32(&uc, NULL, 0);
1621 1623  
1622 1624                  if (on_fault(&lab)) {
1623 1625                          goto badstack;
1624 1626                  }
1625 1627  
1626 1628                  /*
1627 1629                   * Mark this as a system call emulation context:
1628 1630                   */
1629 1631                  uc.uc_brand_data[0] |= LX_UC_FRAME_IS_SYSCALL;
1630 1632                  copyout_noerr(&uc, (void *)(uintptr_t)uc_addr, sizeof (uc));
↓ open down ↓ 90 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX