 |

Known Problems
- After hitting an instruction breakpoint and reading the code at
the address of the breakpoint, attempting to resume execution with the
"run" command may result in a corrupted instruction-bundle at the
breakpoint. This problem can be avoided by single-stepping across the
breakpoint before resuming execution with "run".
- Ski now uses the getpt() library call to open the
pseudo-terminal for the console window. This fixes
compatibility-problems with systems which do not have the
/dev/ptyXX devices any longer, as is the case for
recent Fedora Core distributions and for udev users.
- The Ski binary is now linked dynamically against the C library to
prevent situations where the C library is incompatible with the
installed NSS resolver libraries.
- Make Ski identify itself as a McKinley-type CPU (family==0x1f)
and simulate 64 PMU registers (64 PMC and 64 PMD registers). Note
that Ski doesn't implement a real PMU. It only simulates the
PMC/PMD registers, but they have no useful effect.
- Fix a bug which could corrupt the simulated state when
a data breakpoint got triggered by an "alloc" instruction
(i.e., as a result of mandatory RSE traffic).
- ar.csd is now treated as an IA-64 register, rather than an IA-32
register. This allows setting all 64 bits.
- An environment SKI_PAGE_SIZE has been added which controls the
granularity with which Ski will allocate simulated physical memory
in system mode. This can be useful in conjunction with data
breakpoints, since such breakpoints cannot cross a Ski
page-boundary.
- Debug-register support has been re-enabled in Ski. However,
the instruction debug-register support is only partly supported
(breakpoint usually won't trigger). Data debug-registers should
work as expected.
- Fix a bug where setting an instruction breakpoint could result
in Ski crashing (with a SIGSEGV) due to an infinite recursion.
- Allow virtual-mode data breakpoints. Note that such breakpoints
are pseudo-virtual, just like the virtual instruction breakpoints. That
is, Ski will translate a virtual breakpoint address into a physical
address as soon as a valid translation exists in the TLB for the
virtual address.
- The "cstack" no longer causes Ski to hang if ar.bspstore
happens to point to an invalid address.
- The "cstack" command now works on x86 as well.
- Ski now supports simulated disks > 2 Gbytes even on x86.
- In system mode, instruction breakpoints now can be set again even if
there is no TLB entry for the breakpoint address.
- A bug has been fixed which caused Ski to ignore local labels (to
be precise, it ignored symbols with no ELF type).
- The "cstack" command is now able to step across
Linux kernel interrupt frames.
- Ski has been updated for the latest IA-64 architecture revision
(SDM
v2.1). In particular, support for the 16-byte atomic operations
has been added.
- The cstack command now works and displays a backtrace of
the current call-stack.
- Ski now additionally picks up symbol information from the dynamic
symbol table section, if it exists.
- The auto-detection of user- vs. system-mode should now be more
reliable. If a program is linked for region 0 (as is the case
for the Linux bootloader, for example), system-mode is assumed by
default. Auto-detection can be overridden with command line
options -forceuser and -forcesystem.
- The Linux version of the X11 app-defaults file (XSki) has been
updated to add a binding for the backspace key and to default the
background color to gray.
- An IA-64 binary of Ski is now available.
- Fixed mmap() to unmap any existing mappings when
MAP_FIXED is used.
- The X windows accelerator keys now work in "xski." Specifically,
"Page Up," "Page Down," " Down" and "Up" can be used to scroll around
in the various Ski windows when running under X11.
- The curses interface no longer has the cursor positioning problems
that used to show after commands such as "pf." This problem was due to
a bug in the Linux ncurses library which has been fixed in
ncurses-5.1.
- Ski is now compatible with the latest stable GNU toolchain
(a.k.a., "Nov 17, 2000" snapshot) and with glibc-2.2. In particular,
Ski now passes the AT_PAGESZ and AT_CLKTCK auxiliary tags required by
applications linked against glibc-2.2.
- A bug has been fixed in Ski which prevented the kernel "make
menuconfig" from working.
- The system call emulation in Ski has been brought in sync with
Linux v2.4.1. In particular, Ski now implements the new versions of
stat(), fstat(), lstat() and
getdents(). The system calls pivot_root(), mincore(), and
madvise() are not supported under Ski (they will result in a
warning message of the form "unimplemented system call").
- Updated network support. Added clearer error messages. No longer
fails if it cannot bind to interface, but simply disables network
support.
- Updated HOWTO-ski-networking.
- The shmctl() system call now also supports the
SHM_LOCK and SHM_UNLOCK commands. The
semctl() system call now also supports the GETALL,
SETALL, GETVAL, GETPID, GETNCNT,
and SETVAL commands.
- The following system calls have been fixed and should now work
correctly: ftruncate(), truncate(), getsockopt(),
readlink(), shmat(), shmdt(),
shmget(). There is a known issue with shmat() that prevents it
from operating correctly if the shared memory id (first argument to
shmat()) was not obtained via shmget(). As long as the
id was obtained via shmget(), shmat() should work fine.
- The following system calls now support IPC_RMID (but no other
IPC_* command): semctl(), msgctl(), shmctl().
- Big-endian mode should now work correctly.
- Single step trap is now working.

|
|  |
|