24.05.2014 Views

AIX Version 4.3 Differences Guide

AIX Version 4.3 Differences Guide

AIX Version 4.3 Differences Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.4.1 Dump Support<br />

You can now use the dump interface, through a dump table, to dump specified<br />

memory using a real address without requiring the real address to have virtual<br />

address mapping.<br />

To support dumping real memory using a real address, a new data structure, and<br />

a new magic number, DMP_MAGIC_REAL, has been defined. The following are<br />

modified to check for the magic number and handle the new table format:<br />

• savecore.c<br />

• copydump.c<br />

savecore() and copycore() check for both DMP_MAGIC and DMP_MAGIC_REAL<br />

and are able to process either of the dump table formats.<br />

When displaying the data for a dump table, crash and dmpfmt use an address<br />

format that distinguishes real addresses from virtual addresses. A real address<br />

can be entered on a crash subcommand as r:address. For example:<br />

> od r:10012<br />

2.4.2 Programming Interface<br />

When dump is initialized, it allocates one page from the pinned heap. It also gets<br />

the real address for this page. When dumping memory referenced by a virtual<br />

address, dump will do the following for each page (or page segment) to be<br />

copied:<br />

1. Turn data translation off<br />

2. Copy the data to the buffer at the real address<br />

3. Turn data translation back on<br />

4. Dump the data<br />

This retrieves the data in real mode while calling the device driver code in virtual<br />

mode.<br />

Note: Only one page will be dumped at a time.<br />

The external dump interfaces are found in /usr/include/sys/dump.h, and new<br />

structures have been defined in this file. In the dumpinfo structure, dm_hostip<br />

becomes __ulong32_t. The structures dump_read and dumpio_stat are defined<br />

for the kernel and extensions only.<br />

2.5 Bad Block Relocation during System Dump (<strong>4.3</strong>.1)<br />

In previous versions of <strong>AIX</strong>, if the LVM detected a bad block and received an I/O<br />

error while processing a system dump, the dump was aborted if no secondary<br />

dump device was available. In <strong>AIX</strong> <strong>Version</strong> <strong>4.3</strong>.1, the LVM will now try to relocate<br />

the bad block so that processing of the system dump can continue and<br />

information is not lost.<br />

2.6 Kernel Protection<br />

Memory overlays are extremely destructive and, in certain cases, can destroy the<br />

kernel's ability to respond to interrupts, making it impossible to obtain a dump. A<br />

<strong>AIX</strong> Kernel Enhancements 17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!