mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 07:49:12 +02:00
* updated the go32 unit port access functions to use the new x86 port access
compiler intrinsics git-svn-id: trunk@39385 -
This commit is contained in:
parent
967e1fd6b5
commit
25cd354f87
@ -15,6 +15,7 @@
|
|||||||
unit go32;
|
unit go32;
|
||||||
|
|
||||||
{$S-,R-,I-,Q-} {no stack check, used by DPMIEXCP !! }
|
{$S-,R-,I-,Q-} {no stack check, used by DPMIEXCP !! }
|
||||||
|
{$inline ON}
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
@ -159,6 +160,7 @@ interface
|
|||||||
procedure disable;
|
procedure disable;
|
||||||
procedure enable;
|
procedure enable;
|
||||||
|
|
||||||
|
{$ifdef VER3_0}
|
||||||
function inportb(port : word) : byte;
|
function inportb(port : word) : byte;
|
||||||
function inportw(port : word) : word;
|
function inportw(port : word) : word;
|
||||||
function inportl(port : word) : longint;
|
function inportl(port : word) : longint;
|
||||||
@ -166,6 +168,15 @@ interface
|
|||||||
procedure outportb(port : word;data : byte);
|
procedure outportb(port : word;data : byte);
|
||||||
procedure outportw(port : word;data : word);
|
procedure outportw(port : word;data : word);
|
||||||
procedure outportl(port : word;data : longint);
|
procedure outportl(port : word;data : longint);
|
||||||
|
{$else VER3_0}
|
||||||
|
function inportb(port : word) : byte;inline;
|
||||||
|
function inportw(port : word) : word;inline;
|
||||||
|
function inportl(port : word) : longint;inline;
|
||||||
|
|
||||||
|
procedure outportb(port : word;data : byte);inline;
|
||||||
|
procedure outportw(port : word;data : word);inline;
|
||||||
|
procedure outportl(port : word;data : longint);inline;
|
||||||
|
{$endif VER3_0}
|
||||||
function get_run_mode : word;
|
function get_run_mode : word;
|
||||||
|
|
||||||
function transfer_buffer : longint;
|
function transfer_buffer : longint;
|
||||||
@ -447,6 +458,7 @@ interface
|
|||||||
end ['ECX','EAX'];
|
end ['ECX','EAX'];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{$ifdef VER3_0}
|
||||||
procedure outportb(port : word;data : byte);
|
procedure outportb(port : word;data : byte);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
@ -506,6 +518,37 @@ interface
|
|||||||
movl %eax,__RESULT
|
movl %eax,__RESULT
|
||||||
end ['EAX','EDX'];
|
end ['EAX','EDX'];
|
||||||
end;
|
end;
|
||||||
|
{$else VER3_0}
|
||||||
|
procedure outportb(port : word;data : byte);inline;
|
||||||
|
begin
|
||||||
|
fpc_x86_outportb(port,data);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure outportw(port : word;data : word);inline;
|
||||||
|
begin
|
||||||
|
fpc_x86_outportw(port,data);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure outportl(port : word;data : longint);inline;
|
||||||
|
begin
|
||||||
|
fpc_x86_outportl(port,data);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function inportb(port : word) : byte;inline;
|
||||||
|
begin
|
||||||
|
inportb:=fpc_x86_inportb(port);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function inportw(port : word) : word;inline;
|
||||||
|
begin
|
||||||
|
inportw:=fpc_x86_inportw(port);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function inportl(port : word) : longint;inline;
|
||||||
|
begin
|
||||||
|
inportl:=fpc_x86_inportl(port);
|
||||||
|
end;
|
||||||
|
{$endif VER3_0}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user