RTEMS 6.3
Loading...
Searching...
No Matches
RTEMS_PACKED Struct Reference

Used for passing and retrieving registers content to/from real mode interrupt call. More...

#include <realmode_int.h>

Data Fields

uint32_t reg_eax
uint32_t reg_ebx
uint32_t reg_ecx
uint32_t reg_edx
uint32_t reg_esi
uint32_t reg_edi
uint16_t reg_ds
uint16_t reg_es
uint16_t reg_fs
uint16_t reg_gs
uint16_t offset
 Offset to segment described by selector.
uint16_t selector
 Selector or Segment depending on whether this is used from 16bit protected mode or from real mode.
uint8_t Signature [4]
uint16_t EntryPoint
uint16_t PMInitialize
uint16_t BIOSDataSel
uint16_t A0000Sel
uint16_t B0000Sel
uint16_t B8000Sel
uint16_t CodeSegSel
uint8_t InProtectMode
uint8_t Checksum
uint8_t VbeSignature [4]
uint16_t VbeVersion
uint8_t * OemStringPtr
uint8_t Capabilities [4]
uint32_t * VideoModePtr
uint16_t TotalMemory
uint16_t OemSoftwareRev
uint8_t * OemVendorNamePtr
uint8_t * OemProductNamePtr
uint8_t * OemProductRevPtr
uint8_t Reserved [222]
uint8_t OemData [256]
uint16_t ModeAttributes
uint8_t WinAAttributes
uint8_t WinBAttributes
uint16_t WinGranularity
uint16_t WinSize
uint16_t WinASegment
uint16_t WinBSegment
uint32_t * WinFuncPtr
uint16_t BytesPerScanLine
uint16_t XResolution
uint16_t YResolution
uint8_t XCharSize
uint8_t YCharSize
uint8_t NumberOfPlanes
uint8_t BitsPerPixel
uint8_t NumberOfBanks
uint8_t MemoryModel
uint8_t BankSize
uint8_t NumberOfImagePages
uint8_t Reserved0
uint8_t RedMaskSize
uint8_t RedFieldPosition
uint8_t GreenMaskSize
uint8_t GreenFieldPosition
uint8_t BlueMaskSize
uint8_t BlueFieldPosition
uint8_t RsvdMaskSize
uint8_t RsvdFieldPosition
uint8_t DirectColorModeInfo
uint32_t * PhysBasePtr
uint32_t Reserved1
uint16_t Reserved2
uint16_t LinBytesPerScanLine
uint8_t BnkNumberOfImagePages
uint8_t LinNumberOfImagePages
uint8_t LinRedMaskSize
uint8_t LinRedFieldPosition
uint8_t LinGreenMaskSize
uint8_t LinGreenFieldPosition
uint8_t LinBlueMaskSize
uint8_t LinBlueFieldPosition
uint8_t LinRsvdMaskSize
uint8_t LinRsvdFieldPosition
uint32_t MaxPixelClock
uint8_t Reserved3 [189]
uint16_t HorizontalTotal
uint16_t HorizontalSyncStart
uint16_t HorizontalSyncEnd
uint16_t VerticalTotal
uint16_t VerticalSyncStart
uint16_t VerticalSyncEnd
uint8_t Flags
uint32_t PixelClock
uint16_t RefreshRate
uint8_t Blue
uint8_t Green
uint8_t Red
uint8_t Alignment
uint8_t SupVbeSignature [7]
uint16_t SupVbeVersion
uint8_t SupVbeSubFunc [8]
uint8_t PixelClock_div10000 [2]
uint8_t HorizontalActiveLow
uint8_t HorizontalBlankingLow
uint8_t HorizontalBlanking_ActiveHigh
uint8_t VerticalActiveLow
uint8_t VerticalBlankingLow
uint8_t VerticalBlanking_ActiveHigh
uint8_t HorizontalSyncOffsetLow
uint8_t HorizontalSyncPulseWidthLow
uint8_t VerticalSyncPulseWidth_OffsetLow
uint8_t Vert_Hor_SyncPulseWidth_Offset_High
uint8_t HorizontalImageSizeLow
uint8_t VerticalImageSizeLow
uint8_t Vertical_HorizontalImageSizeHigh
uint8_t HorizontalBorder
uint8_t VerticalBorder
uint8_t ColorPointWhitePointIndexNumber
uint8_t ColorPointWhiteLowBits
uint8_t ColorPointWhite_x
uint8_t ColorPointWhite_y
uint8_t ColorPointWhiteGamma
uint8_t MinVerticalRateInHz
uint8_t MaxVerticalRateInHz
uint8_t MinHorizontalInKHz
uint8_t MaxHorizontalInKHz
uint8_t MaxSupportedPixelClockIn10MHz
uint8_t GTFStandard [8]
uint8_t AddressableLinesLow
uint8_t AspectRatio_AddressableLinesHigh
uint8_t VerticalRate_PreferredVerticalRate
uint8_t VersionNumber
EDID_CVT_3_byte_code_descriptor cvt [4]
uint8_t RevisionNumber
uint8_t EST_III [12]
uint8_t Flag0 [2]
uint8_t Flag1
uint8_t DataTypeTag
uint8_t Flag2
uint8_t DescriptorData [13]
uint8_t HorizontalActivePixels
uint8_t ImageAspectRatio_RefreshRate
uint8_t Header [8]
uint8_t IDManufacturerName [2]
uint8_t IDProductCode [2]
uint8_t IDSerialNumber [4]
uint8_t WeekofManufacture
uint8_t YearofManufacture
uint8_t Version
uint8_t Revision
uint8_t VideoInputDefinition
uint8_t MaxHorizontalImageSize
uint8_t MaxVerticalImageSize
uint8_t DisplayTransferCharacteristic
uint8_t Features
uint8_t GreenRedLow
uint8_t WhiteBlueLow
uint8_t RedXHigh
uint8_t RedYHigh
uint8_t GreenXHigh
uint8_t GreenYHigh
uint8_t BlueXHigh
uint8_t BlueYHigh
uint8_t WhiteXHigh
uint8_t WhiteYHigh
uint8_t EST_I_II_Man [3]
EDID_standard_timing_identification STI [8]
union EDID_DTD_MD dtd_md [4]
uint8_t ExtensionFlag
i386_realmode_interrupt_registers inoutregs
uint32_t pm_esp_bkp
uint16_t pm_ss_bkp
uint16_t ds_bkp
uint16_t rm_entry
uint16_t rm_code_segment
uint32_t pm_entry
uint16_t pm_code_selector
uint16_t idtr_lim_bkp
uint32_t idtr_base_bkp
uint16_t es_bkp
uint16_t fs_bkp
uint16_t gs_bkp
uint32_t rml_entry
uint16_t rml_code_selector
uint16_t rml_data_selector
uint16_t rm_stack_segment
uint16_t rm_stack_pointer
uint16_t rm_data_segment
uint16_t limit_low
uint16_t base_low
uint8_t base_middle
uint8_t access
uint8_t gran_limit_middle
uint8_t base_high
uint16_t size
uint64_t addr
uint32_t format
uint32_t magic
rtems_record_item Version
rtems_record_item Processor_maximum
rtems_record_item Count
rtems_record_item Frequency
rtems_record_item Info [64]
unsigned int limit_15_0: 16
unsigned int base_address_15_0: 16
unsigned int base_address_23_16: 8
unsigned int type: 4
unsigned int descriptor_type: 1
unsigned int privilege: 2
unsigned int present: 1
unsigned int limit_19_16: 4
unsigned int available: 1
unsigned int fixed_value_bits: 1
unsigned int operation_size: 1
unsigned int granularity: 1
unsigned int base_address_31_24: 8

Detailed Description

Used for passing and retrieving registers content to/from real mode interrupt call.

describes one entry of Global/Local Descriptor Table

backup values, pointers/parameters accessible in protected mode

parameters, results, backup values accessible in real mode

Supplemental VBE info block.

Describes palette entry.

Describes monitor synchronization.

Describes graphic's mode parameter.

Information about VBE implementation.

Protected mode info block as defined by VBE standard.

Far pointer as defined by VBE standard.

Note
Struct members not necessarily used in C. This serves also as layout of memory and it is used within inline assembler.
Struct members not necessarily used in C. This serves also as layout of memory and it is used within inline assembler.
GCC complains that access to packed data may not be aligned and fair enough. The warning is:

warning: taking address of packed member of 'struct <anonymous>' may result in an unaligned pointer value [-Waddress-of-packed-member]

Disable the warning.

Field Documentation

◆ A0000Sel

uint16_t RTEMS_PACKED::A0000Sel

Selector to access A0000h physical memmory

◆ Alignment

uint8_t RTEMS_PACKED::Alignment

DWORD alignment byte (unused)

◆ B0000Sel

uint16_t RTEMS_PACKED::B0000Sel

Selector to access B0000h physical memmory

◆ B8000Sel

uint16_t RTEMS_PACKED::B8000Sel

Selector to access B8000h physical memmory

◆ BankSize

uint8_t RTEMS_PACKED::BankSize

bank size in KB

◆ BIOSDataSel

uint16_t RTEMS_PACKED::BIOSDataSel

Selector to BIOS data area emulation block

◆ BitsPerPixel

uint8_t RTEMS_PACKED::BitsPerPixel

bits per pixel

◆ Blue

uint8_t RTEMS_PACKED::Blue

Blue channel value (6 or 8 bits)

◆ BlueFieldPosition

uint8_t RTEMS_PACKED::BlueFieldPosition

bit position of lsb of blue mask

◆ BlueMaskSize

uint8_t RTEMS_PACKED::BlueMaskSize

size of direct color blue mask in b

◆ BnkNumberOfImagePages

uint8_t RTEMS_PACKED::BnkNumberOfImagePages

number of images for banked modes

◆ BytesPerScanLine

uint16_t RTEMS_PACKED::BytesPerScanLine

bytes per scan line

◆ Capabilities

uint8_t RTEMS_PACKED::Capabilities[4]

Capabilities of graphics controller

◆ Checksum

uint8_t RTEMS_PACKED::Checksum

Checksum byte for structure. Sum over all structure bytes gives 0.

◆ CodeSegSel

uint16_t RTEMS_PACKED::CodeSegSel

Selector to access code segment as data

◆ DirectColorModeInfo

uint8_t RTEMS_PACKED::DirectColorModeInfo

direct color mode attributes

◆ ds_bkp

uint16_t RTEMS_PACKED::ds_bkp

spot for back up of protected mode data selector

◆ EntryPoint

uint16_t RTEMS_PACKED::EntryPoint

Offset of PM entry point within BIOS

◆ es_bkp

uint16_t RTEMS_PACKED::es_bkp

spot to backup of ES register value in 32bit protected mode

◆ Flags

uint8_t RTEMS_PACKED::Flags

Flags (Interlaced, Double Scan etc)

◆ fs_bkp

uint16_t RTEMS_PACKED::fs_bkp

spot to backup of FS register value in 32bit protected mode

◆ Green

uint8_t RTEMS_PACKED::Green

Green channel value (6 or 8 bits)

◆ GreenFieldPosition

uint8_t RTEMS_PACKED::GreenFieldPosition

bit position of lsb of green mask

◆ GreenMaskSize

uint8_t RTEMS_PACKED::GreenMaskSize

size of direct color green mask in b

◆ gs_bkp

uint16_t RTEMS_PACKED::gs_bkp

spot to backup of GS register value in 32bit protected mode

◆ HorizontalSyncEnd

uint16_t RTEMS_PACKED::HorizontalSyncEnd

Horizontal sync end in pixels

◆ HorizontalSyncStart

uint16_t RTEMS_PACKED::HorizontalSyncStart

Horizontal sync start in pixels

◆ HorizontalTotal

uint16_t RTEMS_PACKED::HorizontalTotal

Horizontal total in pixels

◆ idtr_base_bkp

uint32_t RTEMS_PACKED::idtr_base_bkp
See also
idtr_lim_bkp

◆ idtr_lim_bkp

uint16_t RTEMS_PACKED::idtr_lim_bkp

spot for backup protected mode interrupt descriptor table register

◆ InProtectMode

uint8_t RTEMS_PACKED::InProtectMode

Set to 1 when in protected mode

◆ LinBlueFieldPosition

uint8_t RTEMS_PACKED::LinBlueFieldPosition

bit position of lsb of blue mask

◆ LinBlueMaskSize

uint8_t RTEMS_PACKED::LinBlueMaskSize

size of direct color blue mask

◆ LinBytesPerScanLine

uint16_t RTEMS_PACKED::LinBytesPerScanLine

bytes per scan line for linear modes

◆ LinGreenFieldPosition

uint8_t RTEMS_PACKED::LinGreenFieldPosition

bit position of lsb of green mask

◆ LinGreenMaskSize

uint8_t RTEMS_PACKED::LinGreenMaskSize

size of direct color green mask

◆ LinNumberOfImagePages

uint8_t RTEMS_PACKED::LinNumberOfImagePages

number of images for linear modes

◆ LinRedFieldPosition

uint8_t RTEMS_PACKED::LinRedFieldPosition

bit position of lsb of red mask

◆ LinRedMaskSize

uint8_t RTEMS_PACKED::LinRedMaskSize

size of direct color red mask

◆ LinRsvdFieldPosition

uint8_t RTEMS_PACKED::LinRsvdFieldPosition

bit position of lsb of reserved mask

◆ LinRsvdMaskSize

uint8_t RTEMS_PACKED::LinRsvdMaskSize

size of direct color reserved mask

◆ MaxPixelClock

uint32_t RTEMS_PACKED::MaxPixelClock

maximum pixel clock (in Hz) for graphics mode

◆ MemoryModel

uint8_t RTEMS_PACKED::MemoryModel

memory model type

◆ ModeAttributes

uint16_t RTEMS_PACKED::ModeAttributes

mode attributes

◆ NumberOfBanks

uint8_t RTEMS_PACKED::NumberOfBanks

number of banks

◆ NumberOfImagePages

uint8_t RTEMS_PACKED::NumberOfImagePages

number of images

◆ NumberOfPlanes

uint8_t RTEMS_PACKED::NumberOfPlanes

number of memory planes

◆ OemData

uint8_t RTEMS_PACKED::OemData[256]

Data Area for OEM Strings

◆ OemProductNamePtr

uint8_t * RTEMS_PACKED::OemProductNamePtr

VBE_far_pointer to Product Name String

◆ OemProductRevPtr

uint8_t * RTEMS_PACKED::OemProductRevPtr

VBE_far_pointer to Product Revision String

◆ OemSoftwareRev

uint16_t RTEMS_PACKED::OemSoftwareRev

VBE implementation Software revision

OEM Software revision

◆ OemStringPtr

uint8_t * RTEMS_PACKED::OemStringPtr

VBE_far_pointer to OEM String

◆ OemVendorNamePtr

uint8_t * RTEMS_PACKED::OemVendorNamePtr

VBE_far_pointer to Vendor Name String

◆ PhysBasePtr

uint32_t* RTEMS_PACKED::PhysBasePtr

physical address for flat memory frame buffer

◆ PixelClock

uint32_t RTEMS_PACKED::PixelClock

Pixel clock in units of Hz

◆ pm_code_selector

uint16_t RTEMS_PACKED::pm_code_selector

returning selector for long indirect jump back to 32bit protected mode

◆ pm_entry

uint32_t RTEMS_PACKED::pm_entry

returning offset for long indirect jump back to 32bit protected mode

◆ pm_esp_bkp

uint32_t RTEMS_PACKED::pm_esp_bkp

spot for back up of protected mode stack pointer

◆ pm_ss_bkp

uint16_t RTEMS_PACKED::pm_ss_bkp

spot for back up of protected mode stack selector

◆ PMInitialize

uint16_t RTEMS_PACKED::PMInitialize

Offset of PM initialization entry point

◆ Red

uint8_t RTEMS_PACKED::Red

Red channel value(6 or 8 bits)

◆ RedFieldPosition

uint8_t RTEMS_PACKED::RedFieldPosition

bit position of lsb of red mask

◆ RedMaskSize

uint8_t RTEMS_PACKED::RedMaskSize

size of direct color red mask in bits

◆ RefreshRate

uint16_t RTEMS_PACKED::RefreshRate

Refresh rate in units of 0.01 Hz

◆ Reserved

uint8_t RTEMS_PACKED::Reserved

Reserved for VBE implementation scratch

remainder of VBE_mode_info_block

Reserved for description strings and future expansion

◆ Reserved0

uint8_t RTEMS_PACKED::Reserved0

reserved for page function

◆ Reserved1

uint32_t RTEMS_PACKED::Reserved1

Reserved - always set to 0

◆ Reserved2

uint16_t RTEMS_PACKED::Reserved2

Reserved - always set to 0

◆ Reserved3

uint8_t RTEMS_PACKED::Reserved3[189]

remainder of VBE_mode_info_block

◆ rm_code_segment

uint16_t RTEMS_PACKED::rm_code_segment

spot for setting up long indirect jump segment to real mode from 16bit protected mode

◆ rm_data_segment

uint16_t RTEMS_PACKED::rm_data_segment

data segment for real mode

◆ rm_entry

uint16_t RTEMS_PACKED::rm_entry

spot for setting up long indirect jump offset to real mode from 16bit protected mode

◆ rm_stack_pointer

uint16_t RTEMS_PACKED::rm_stack_pointer
See also
rm_stack_segment

◆ rm_stack_segment

uint16_t RTEMS_PACKED::rm_stack_segment

values determinig location of real mode stack

◆ rml_code_selector

uint16_t RTEMS_PACKED::rml_code_selector
See also
rml_entry

◆ rml_data_selector

uint16_t RTEMS_PACKED::rml_data_selector

data selector for 16bit protected mode

◆ rml_entry

uint32_t RTEMS_PACKED::rml_entry

values for indirect jump to 16bit protected mode

◆ RsvdFieldPosition

uint8_t RTEMS_PACKED::RsvdFieldPosition

bit position of lsb of reserved mask

◆ RsvdMaskSize

uint8_t RTEMS_PACKED::RsvdMaskSize

size of direct color reserved mask

◆ Signature

uint8_t RTEMS_PACKED::Signature[4]

PM Info Block Signature

◆ SupVbeSignature

uint8_t RTEMS_PACKED::SupVbeSignature[7]

Supplemental VBE Signature

◆ SupVbeSubFunc

uint8_t RTEMS_PACKED::SupVbeSubFunc[8]

Bitfield of supported subfunctions

◆ SupVbeVersion

uint16_t RTEMS_PACKED::SupVbeVersion

Supplemental VBE Version

◆ TotalMemory

uint16_t RTEMS_PACKED::TotalMemory

Number of 64kb memory blocks

◆ VbeSignature

uint8_t RTEMS_PACKED::VbeSignature[4]

VBE Signature

◆ VbeVersion

uint16_t RTEMS_PACKED::VbeVersion

VBE Version

◆ VerticalSyncEnd

uint16_t RTEMS_PACKED::VerticalSyncEnd

Vertical sync end in lines

◆ VerticalSyncStart

uint16_t RTEMS_PACKED::VerticalSyncStart

Vertical sync start in lines

◆ VerticalTotal

uint16_t RTEMS_PACKED::VerticalTotal

Vertical total in lines

◆ VideoModePtr

uint32_t* RTEMS_PACKED::VideoModePtr

VBE_far_pointer to VideoModeList

◆ WinAAttributes

uint8_t RTEMS_PACKED::WinAAttributes

window A attributes

◆ WinASegment

uint16_t RTEMS_PACKED::WinASegment

window A start segment

◆ WinBAttributes

uint8_t RTEMS_PACKED::WinBAttributes

window B attributes

◆ WinBSegment

uint16_t RTEMS_PACKED::WinBSegment

window B start segment

◆ WinFuncPtr

uint32_t* RTEMS_PACKED::WinFuncPtr

real mode pointer to window function

◆ WinGranularity

uint16_t RTEMS_PACKED::WinGranularity

window granularity

◆ WinSize

uint16_t RTEMS_PACKED::WinSize

window size

◆ XCharSize

uint8_t RTEMS_PACKED::XCharSize

character cell width in pixels

◆ XResolution

uint16_t RTEMS_PACKED::XResolution

horizontal resolution in px or chars

◆ YCharSize

uint8_t RTEMS_PACKED::YCharSize

character cell height in pixels

◆ YResolution

uint16_t RTEMS_PACKED::YResolution

vertical resolution in px or chars


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