Merge pull request 'Migration from FPC 2.6.4 to FPC 3.2.2' (#9) from feature/fpc-3.2.2 into develop
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
Reviewed-on: #9
This commit was merged in pull request #9.
This commit is contained in:
commit
924305a1ab
8 files changed
+383
-10
No files matched your search
@@ -53,6 +53,7 @@ steps:
|
|||||||
|
|
||||||
- name: msg status
|
- name: msg status
|
||||||
image: appleboy/drone-discord
|
image: appleboy/drone-discord
|
||||||
|
failure: ignore
|
||||||
depends_on:
|
depends_on:
|
||||||
- compile
|
- compile
|
||||||
when:
|
when:
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@ RUN apt-get update && apt-get install -y \
|
|||||||
apt-get clean my room
|
apt-get clean my room
|
||||||
|
|
||||||
SHELL ["/bin/bash", "-c"]
|
SHELL ["/bin/bash", "-c"]
|
||||||
ARG FPC_VERSION=2.6.4
|
ARG FPC_VERSION=3.2.2
|
||||||
RUN curl -sL https://sourceforge.net/projects/freepascal/files/Linux/$FPC_VERSION/fpc-$FPC_VERSION.i386-linux.tar/download | tar -xf - && \
|
RUN curl -sL https://sourceforge.net/projects/freepascal/files/Linux/$FPC_VERSION/fpc-$FPC_VERSION.i386-linux.tar/download | tar -xf - && \
|
||||||
pushd fpc-$FPC_VERSION.i386-linux && ./install.sh && popd && \
|
pushd fpc-$FPC_VERSION.i386-linux && ./install.sh && popd && \
|
||||||
rm -rf fpc-$FPC_VERSION.i386-linux
|
rm -rf fpc-$FPC_VERSION.i386-linux
|
||||||
|
|||||||
+1
-1
@@ -4,4 +4,4 @@ echo "======================="
|
|||||||
echo " "
|
echo " "
|
||||||
echo "Compiling FPC Sources..."
|
echo "Compiling FPC Sources..."
|
||||||
echo " "
|
echo " "
|
||||||
fpc -Aelf -gw -g -gl -n -vlewn -O3 -Op3 -Si -Sc -Sg -Xd -CX -XXs -CfSSE -CfSSE2 -Rintel -Pi386 -Tlinux -FElib/ -Fusrc/* -Fusrc/driver/* -Fusrc/driver/net/* src/kernel.pas
|
fpc -Aelf -gw -g -gl -n -vlewn -O3 -OpPENTIUM3 -Si -Sc -Sg -Xd -CX -XXs -CfSSE -CfSSE2 -Rintel -Pi386 -Tlinux -FElib/ -Fusrc/* -Fusrc/driver/* -Fusrc/driver/net/* src/kernel.pas
|
||||||
@@ -34,4 +34,14 @@ SECTIONS
|
|||||||
}
|
}
|
||||||
end = .; _end = .; __end = .;
|
end = .; _end = .; __end = .;
|
||||||
kernel_end = .;
|
kernel_end = .;
|
||||||
|
|
||||||
|
/DISCARD/ : {
|
||||||
|
*(.init_array*)
|
||||||
|
*(.fini_array*)
|
||||||
|
*(.ctors)
|
||||||
|
*(.dtors)
|
||||||
|
*(.eh_frame*)
|
||||||
|
*(.gcc_except_table*)
|
||||||
|
*(.note.GNU-stack)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -58,16 +58,19 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
function sinb(port : uint16) : uint8;
|
function sinb(port : uint16) : uint8;
|
||||||
|
var
|
||||||
|
tmp : uint8;
|
||||||
begin
|
begin
|
||||||
asm
|
asm
|
||||||
PUSH EAX
|
PUSH EAX
|
||||||
PUSH EDX
|
PUSH EDX
|
||||||
MOV DX, port
|
MOV DX, port
|
||||||
IN AL, DX
|
IN AL, DX
|
||||||
MOV sinb, AL
|
MOV tmp, AL
|
||||||
POP EDX
|
POP EDX
|
||||||
POP EAX
|
POP EAX
|
||||||
end;
|
end;
|
||||||
|
sinb := tmp;
|
||||||
io_wait;
|
io_wait;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
+348
-1
File diff suppressed because it is too large.
Load diff
+16
-4
@@ -130,10 +130,13 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
function getESP : uint32;
|
function getESP : uint32;
|
||||||
|
var
|
||||||
|
tmp: uint32;
|
||||||
begin
|
begin
|
||||||
asm
|
asm
|
||||||
MOV getESP, ESP
|
MOV tmp, ESP
|
||||||
end;
|
end;
|
||||||
|
getESP := tmp;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function HexCharToDecimal(hex : char) : uint8;
|
function HexCharToDecimal(hex : char) : uint8;
|
||||||
@@ -362,6 +365,8 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
function inl(port : uint16) : uint32; [public, alias: 'util_inl'];
|
function inl(port : uint16) : uint32; [public, alias: 'util_inl'];
|
||||||
|
var
|
||||||
|
tmp : uint32;
|
||||||
begin
|
begin
|
||||||
//serial.sendString('[inl]');
|
//serial.sendString('[inl]');
|
||||||
//serial.sendHex(port);
|
//serial.sendHex(port);
|
||||||
@@ -370,14 +375,17 @@ begin
|
|||||||
PUSH EDX
|
PUSH EDX
|
||||||
MOV DX, port
|
MOV DX, port
|
||||||
IN EAX, DX
|
IN EAX, DX
|
||||||
MOV inl, EAX
|
MOV tmp, EAX
|
||||||
POP EDX
|
POP EDX
|
||||||
POP EAX
|
POP EAX
|
||||||
end;
|
end;
|
||||||
|
inl := tmp;
|
||||||
io_wait;
|
io_wait;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function inw(port : uint16) : uint16; [public, alias: 'util_inw'];
|
function inw(port : uint16) : uint16; [public, alias: 'util_inw'];
|
||||||
|
var
|
||||||
|
tmp : uint16;
|
||||||
begin
|
begin
|
||||||
//serial.sendString('[inw]');
|
//serial.sendString('[inw]');
|
||||||
//serial.sendHex(port);
|
//serial.sendHex(port);
|
||||||
@@ -386,14 +394,17 @@ begin
|
|||||||
PUSH EDX
|
PUSH EDX
|
||||||
MOV DX, port
|
MOV DX, port
|
||||||
IN AX, DX
|
IN AX, DX
|
||||||
MOV inw, AX
|
MOV tmp, AX
|
||||||
POP EDX
|
POP EDX
|
||||||
POP EAX
|
POP EAX
|
||||||
end;
|
end;
|
||||||
|
inw := tmp;
|
||||||
io_wait;
|
io_wait;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function inb(port : uint16) : uint8; [public, alias: 'util_inb'];
|
function inb(port : uint16) : uint8; [public, alias: 'util_inb'];
|
||||||
|
var
|
||||||
|
tmp : uint8;
|
||||||
begin
|
begin
|
||||||
//serial.sendString('[inb]');
|
//serial.sendString('[inb]');
|
||||||
//serial.sendHex(port);
|
//serial.sendHex(port);
|
||||||
@@ -402,10 +413,11 @@ begin
|
|||||||
PUSH EDX
|
PUSH EDX
|
||||||
MOV DX, port
|
MOV DX, port
|
||||||
IN AL, DX
|
IN AL, DX
|
||||||
MOV inb, AL
|
MOV tmp, AL
|
||||||
POP EDX
|
POP EDX
|
||||||
POP EAX
|
POP EAX
|
||||||
end;
|
end;
|
||||||
|
inb := tmp;
|
||||||
io_wait;
|
io_wait;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ begin
|
|||||||
klalloc:= Address;
|
klalloc:= Address;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function kalloc(size : uint32) : void;
|
function kalloc(size : uint32) : void; [public, alias: 'kernel_kalloc'];
|
||||||
var
|
var
|
||||||
Heap_Entries : uint32;
|
Heap_Entries : uint32;
|
||||||
i, j : uint32;
|
i, j : uint32;
|
||||||
@@ -217,7 +217,7 @@ begin
|
|||||||
//pop_trace;
|
//pop_trace;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure kfree(area : void);
|
procedure kfree(area : void); [public, alias: 'kernel_kfree'];
|
||||||
var
|
var
|
||||||
hp : PHeapPage;
|
hp : PHeapPage;
|
||||||
entry : uint32;
|
entry : uint32;
|
||||||
|
|||||||
Reference in new issue
Block a user