Legacy Documentclose button

Important: The information in this document is obsolete and should not be used for new development.

Previous Book Contents Book Index Next

Inside Macintosh: PowerPC System Software /
Chapter 4 - Exception Manager / Exception Manager Reference
Data Structures


Memory Exception Records

The Exception Manager uses a memory exception record to present additional informa-
tion about an exception that occurs as the result of a failed memory reference. A memory exception record is defined by the MemoryExceptionInformation data type.

struct MemoryExceptionInformation {
   AreaID                           theArea;
   LogicalAddress                   theAddress;
   OSStatus                         theError;
   MemoryReferenceKind              theReference;
};
typedef struct MemoryExceptionInformation MemoryExceptionInformation;
Field Description
theArea
The area containing the logical address of the exception. When the memory reference that caused the exception is to an unmapped range of the logical address space, this field contains the value kNoAreaID.
theAddress
The logical address of the exception.
theError
A status value. When the exception kind is unresolvablePageFaultException, this field contains a value that indicates the reason the page fault could not be resolved.
theReference
The type of memory reference that caused the exception. This field contains one of these constants:
               enum {
                  writeReference = 0,  /*write operation*/
                  readReference  = 1,  /*read operation*/
                  fetchReference = 2   /*fetch operation*/
               };
See "Memory Reference Kinds" on page 4-11 for a description of these constants.

IMPORTANT

The fields of a memory exception record are aligned in memory in accordance with 680x0 alignment conventions.

Previous Book Contents Book Index Next

© Apple Computer, Inc.
3 JUL 1996