PKUOS - Pintos
Pintos source browser for PKU Operating System course
Data Fields
intr_frame Struct Reference

Interrupt stack frame. More...

#include <interrupt.h>

Data Fields

uint32_t edi
 Saved EDI. More...
 
uint32_t esi
 Saved ESI. More...
 
uint32_t ebp
 Saved EBP. More...
 
uint32_t esp_dummy
 Not used. More...
 
uint32_t ebx
 Saved EBX. More...
 
uint32_t edx
 Saved EDX. More...
 
uint32_t ecx
 Saved ECX. More...
 
uint32_t eax
 Saved EAX. More...
 
uint16_t gs
 
uint16_t uint16_t fs:16
 Saved GS segment register. More...
 
uint16_t uint16_t uint16_t es:16
 Saved FS segment register. More...
 
uint16_t uint16_t uint16_t uint16_t ds:16
 Saved ES segment register. More...
 
uint16_t uint16_t uint16_t uint16_t uint32_t vec_no:16
 Saved DS segment register. More...
 
uint32_t error_code
 Error code. More...
 
void * frame_pointer
 Saved EBP (frame pointer). More...
 
void(* eip )(void)
 Next instruction to execute. More...
 
uint16_t cs
 
uint16_t uint32_t eflags:16
 Code segment for eip. More...
 
void * esp
 Saved stack pointer. More...
 
uint16_t ss
 

Detailed Description

Interrupt stack frame.

Definition at line 20 of file interrupt.h.

Field Documentation

◆ cs

uint16_t intr_frame::cs

Definition at line 52 of file interrupt.h.

Referenced by intr_dump_frame(), kill(), and start_process().

◆ ds

Saved ES segment register.

Definition at line 35 of file interrupt.h.

Referenced by intr_dump_frame(), and start_process().

◆ eax

uint32_t intr_frame::eax

Saved EAX.

Definition at line 31 of file interrupt.h.

Referenced by intr_dump_frame().

◆ ebp

uint32_t intr_frame::ebp

Saved EBP.

Definition at line 26 of file interrupt.h.

Referenced by intr_dump_frame().

◆ ebx

uint32_t intr_frame::ebx

Saved EBX.

Definition at line 28 of file interrupt.h.

Referenced by intr_dump_frame().

◆ ecx

uint32_t intr_frame::ecx

Saved ECX.

Definition at line 30 of file interrupt.h.

Referenced by intr_dump_frame().

◆ edi

uint32_t intr_frame::edi

Saved EDI.

Definition at line 24 of file interrupt.h.

Referenced by intr_dump_frame().

◆ edx

uint32_t intr_frame::edx

Saved EDX.

Definition at line 29 of file interrupt.h.

Referenced by intr_dump_frame().

◆ eflags

uint16_t uint32_t intr_frame::eflags

Code segment for eip.

Saved CPU flags.

Definition at line 53 of file interrupt.h.

Referenced by start_process().

◆ eip

void(* intr_frame::eip) (void)

Next instruction to execute.

Definition at line 51 of file interrupt.h.

Referenced by intr_dump_frame(), and start_process().

◆ error_code

uint32_t intr_frame::error_code

Error code.

Definition at line 43 of file interrupt.h.

Referenced by intr_dump_frame(), and page_fault().

◆ es

uint16_t uint16_t uint16_t intr_frame::es

Saved FS segment register.

Definition at line 34 of file interrupt.h.

Referenced by intr_dump_frame(), and start_process().

◆ esi

uint32_t intr_frame::esi

Saved ESI.

Definition at line 25 of file interrupt.h.

Referenced by intr_dump_frame().

◆ esp

void* intr_frame::esp

Saved stack pointer.

Definition at line 54 of file interrupt.h.

Referenced by intr_dump_frame(), and start_process().

◆ esp_dummy

uint32_t intr_frame::esp_dummy

Not used.

Definition at line 27 of file interrupt.h.

◆ frame_pointer

void* intr_frame::frame_pointer

Saved EBP (frame pointer).

Definition at line 47 of file interrupt.h.

◆ fs

uint16_t uint16_t intr_frame::fs

Saved GS segment register.

Definition at line 33 of file interrupt.h.

Referenced by start_process().

◆ gs

uint16_t intr_frame::gs

Definition at line 32 of file interrupt.h.

Referenced by start_process().

◆ ss

uint16_t intr_frame::ss

Definition at line 55 of file interrupt.h.

Referenced by intr_dump_frame(), and start_process().

◆ vec_no

Saved DS segment register.

Interrupt vector number.

Definition at line 38 of file interrupt.h.

Referenced by interrupt_handler(), intr_dump_frame(), intr_handler(), kill(), and unexpected_interrupt().


The documentation for this struct was generated from the following file: