RTEMS CPU Kit with SuperCore  4.11.3
Macros | Functions
i386.h File Reference

Intel I386 CPU Dependent Source. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define I386_HAS_FPU   1
 
#define I386_HAS_BSWAP   1
 
#define CPU_NAME   "Intel i386"
 
#define get_cs()   i386_get_cs()
 
#define get_ds()   i386_get_ds()
 
#define get_es()   i386_get_es()
 
#define get_ss()   i386_get_ss()
 
#define get_fs()   i386_get_fs()
 
#define get_gs()   i386_get_gs()
 
#define CPU_swap_u32(_value)   i386_swap_u32( _value )
 
#define CPU_swap_u16(_value)   i386_swap_u16( _value )
 
#define outport_byte(_port, _value)   i386_outport_byte( _port, _value )
 
#define outport_word(_port, _value)   i386_outport_word( _port, _value )
 
#define outport_long(_port, _value)   i386_outport_long( _port, _value )
 
#define inport_byte(_port, _value)   i386_inport_byte( _port, _value )
 
#define inport_word(_port, _value)   i386_inport_word( _port, _value )
 
#define inport_long(_port, _value)   i386_inport_long( _port, _value )
 

Functions

void * i386_Logical_to_physical (unsigned short segment, void *address)
 
void * i386_Physical_to_logical (unsigned short segment, void *address)
 
RTEMS_INLINE_ROUTINE void * i386_Real_to_physical (uint16_t segment, uint16_t offset)
 Converts real mode pointer {segment, offset} to physical address. More...
 
int i386_Physical_to_real (void *address, uint16_t *segment, uint16_t *offset)
 Retreives real mode pointer elements {segmnet, offset} from physical address. More...
 

Detailed Description

Intel I386 CPU Dependent Source.

This include file contains information pertaining to the Intel i386 processor.

Function Documentation

◆ i386_Physical_to_real()

int i386_Physical_to_real ( void *  address,
uint16_t *  segment,
uint16_t *  offset 
)

Retreives real mode pointer elements {segmnet, offset} from physical address.

i386_Physical_to_real Function returns the highest segment (base) address possible. Example: input address - 0x4B3A2 output segment - 0x4B3A offset - 0x2 input address - 0x10F12E output segment - 0xFFFF offset - 0xF13E

Parameters
[in]addressaddress to be converted, must be less than 0x10FFEF
[out]segmentsegment computed from address
[out]offsetoffset computed from address
Return values
0address not convertible
1segment and offset extracted

Referenced by i386_Real_to_physical().

◆ i386_Real_to_physical()

RTEMS_INLINE_ROUTINE void* i386_Real_to_physical ( uint16_t  segment,
uint16_t  offset 
)

Converts real mode pointer {segment, offset} to physical address.

i386_Real_to_physical

Parameters
[in]segmentused with offset to compute physical address
[in]offsetused with segment to compute physical address
Return values
physicaladdress

References i386_Physical_to_real().