Merge branch 'feature/fpc-3.2.2' into feature/lvgl
# Conflicts: # .drone.yml # virtualbox-wrapper.ps1
This commit is contained in:
commit
ceb03a9d7e
12 files changed
+1474
-194
No files matched your search
+14
@@ -50,3 +50,17 @@ steps:
|
|||||||
- |
|
- |
|
||||||
curl -X PUT https://gitea.spexeah.com/api/packages/Spexeah/generic/asuro-iso/latest/Asuro.iso \
|
curl -X PUT https://gitea.spexeah.com/api/packages/Spexeah/generic/asuro-iso/latest/Asuro.iso \
|
||||||
-H "Authorization: token $GITEA_TOKEN" --upload-file "Asuro-$(git rev-parse --short HEAD).iso"
|
-H "Authorization: token $GITEA_TOKEN" --upload-file "Asuro-$(git rev-parse --short HEAD).iso"
|
||||||
|
|
||||||
|
- name: msg status
|
||||||
|
image: appleboy/drone-discord
|
||||||
|
failure: ignore
|
||||||
|
depends_on:
|
||||||
|
- compile
|
||||||
|
when:
|
||||||
|
status: [success, failure, changed]
|
||||||
|
settings:
|
||||||
|
webhook_id:
|
||||||
|
from_secret: discord_webhook_id
|
||||||
|
webhook_token:
|
||||||
|
from_secret: discord_webhook_secret
|
||||||
|
message: "**Asuro Build**\n\n{{#success build.status}}✅ Build successful!\n\n{{else}}❌ Build failed!\n\n{{/success}}Repository: `{{repo.namespace}}/{{repo.name}}`\nBranch: `{{commit.branch}}`\nCommit: `{{commit.sha}}`\nAuthor: `{{commit.author}} <{{commit.email}}>`\n\nGitea Diff: [Link](<{{commit.link}}>)\nDrone Build: [Link](<{{build.link}}>)\n\nMessage: {{commit.message}}"
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
# Map all Aaron identities to a single preferred identity
|
||||||
|
Aaron Hance <[email protected]> aaron <aaron@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c>
|
||||||
|
Aaron Hance <[email protected]> aaronhance <[email protected]>
|
||||||
|
Aaron Hance <[email protected]> aaron hance <[email protected]>
|
||||||
|
Aaron Hance <[email protected]> Aaron <[email protected]>
|
||||||
|
|
||||||
|
# Map all Kieron identities to a single preferred identity
|
||||||
|
Kieron Morris <[email protected]> kieron <kieron@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c>
|
||||||
|
Kieron Morris <[email protected]> Kieron <[email protected]>
|
||||||
|
Kieron Morris <[email protected]> t3hn3rd <[email protected]>
|
||||||
|
|
||||||
|
# Map goose's multiple identities
|
||||||
|
goose <goose@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c> goose <[email protected]>
|
||||||
+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;
|
||||||
|
|
||||||
|
|||||||
@@ -491,22 +491,26 @@ begin
|
|||||||
|
|
||||||
{ Create a new header to the use in our DHCP REQUEST packet }
|
{ Create a new header to the use in our DHCP REQUEST packet }
|
||||||
SendHeader:= createHeader();
|
SendHeader:= createHeader();
|
||||||
CopyIPv4(puint8(@Header^.Your_IP[0]), puint8(@SendHeader^.Client_IP[0]));
|
CopyIPv4(@getIPv4Config^.Address[0], puint8(@SendHeader^.Client_IP[0]));
|
||||||
CopyIPv4(puint8(@Header^.Server_IP[0]), puint8(@SendHeader^.Server_IP[0]));
|
CopyIPv4(puint8(@Header^.Server_IP[0]), puint8(@SendHeader^.Server_IP[0]));
|
||||||
processHeader(SendHeader);
|
processHeader(SendHeader);
|
||||||
|
|
||||||
{ Setup Options }
|
{ Setup Options }
|
||||||
SendOptions:= newOptions();
|
SendOptions:= newOptions();
|
||||||
|
|
||||||
{ Create a message type option and assign it the value REQUEST }
|
{ Create a message type option and assign it the value REQUEST }
|
||||||
SendMsgType:= ord(TDHCPMessageType.REQUEST);
|
SendMsgType:= ord(TDHCPMessageType.REQUEST);
|
||||||
NewOption(SendOptions, TDHCPOpCode.DHCP_MESSAGE_TYPE, void(@SendMsgType), 1, false);
|
NewOption(SendOptions, TDHCPOpCode.DHCP_MESSAGE_TYPE, void(@SendMsgType), 1, false);
|
||||||
|
|
||||||
{ Create a Requested IP option and assign it the value from the OFFER packet header }
|
{ Create a Requested IP option and assign it the value from the OFFER packet header }
|
||||||
NewOption(SendOptions, TDHCPOpCode.REQUESTED_IP_ADDRESS, void(@SendHeader^.Client_IP[0]), 4, false);
|
NewOption(SendOptions, TDHCPOpCode.REQUESTED_IP_ADDRESS, void(@Header^.Your_IP[0]), 4, false);
|
||||||
|
|
||||||
{ Create a Server Identifier Option and assign it the value from the OFFER packet options }
|
{ Create a Server Identifier Option and assign it the value from the OFFER packet options }
|
||||||
Option:= getOptionByOpcode(Options, TDHCPOpCode.SERVER_IDENTIFIER);
|
Option:= getOptionByOpcode(Options, TDHCPOpCode.SERVER_IDENTIFIER);
|
||||||
if Option <> nil then begin
|
if Option <> nil then begin
|
||||||
NewOption(SendOptions, TDHCPOpCode.SERVER_IDENTIFIER, void(@Option^.Value[0]), 4, false);
|
NewOption(SendOptions, TDHCPOpCode.SERVER_IDENTIFIER, void(@Option^.Value[0]), 4, false);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ Create a Parameter Request List, Request the following: Netmask, Gateway, DNS Name & DNS Server }
|
{ Create a Parameter Request List, Request the following: Netmask, Gateway, DNS Name & DNS Server }
|
||||||
RequestParams[0]:= Ord(TDHCPOpCode.SUBNET_MASK);
|
RequestParams[0]:= Ord(TDHCPOpCode.SUBNET_MASK);
|
||||||
RequestParams[1]:= Ord(TDHCPOpCode.ROUTER);
|
RequestParams[1]:= Ord(TDHCPOpCode.ROUTER);
|
||||||
@@ -522,9 +526,13 @@ begin
|
|||||||
MAC:= getMAC();
|
MAC:= getMAC();
|
||||||
packetCtx:= PPacketContext(Kalloc(sizeof(TPacketContext)));
|
packetCtx:= PPacketContext(Kalloc(sizeof(TPacketContext)));
|
||||||
packetCtx^.TTL:= 128;
|
packetCtx^.TTL:= 128;
|
||||||
copyMAC(@BROADCAST_MAC[0], @packetCtx^.MAC.Destination[0]);
|
|
||||||
|
{ Copy over MAC - src: broadcast - dst: DHCP Server }
|
||||||
copyMAC(MAC, @packetCtx^.MAC.Source[0]);
|
copyMAC(MAC, @packetCtx^.MAC.Source[0]);
|
||||||
copyIPv4(@NULL_IP[0], @packetCtx^.IP.Source[0]);
|
copyMAC(@BROADCAST_MAC[0], @packetCtx^.MAC.Destination[0]);
|
||||||
|
|
||||||
|
{ Copy over IP - src: NULL - dst: Broadcast }
|
||||||
|
CopyIPv4(@getIPv4Config^.Address[0], @packetCtx^.IP.Source[0]);
|
||||||
copyIPv4(@BROADCAST_IP[0], @packetCtx^.IP.Destination[0]);
|
copyIPv4(@BROADCAST_IP[0], @packetCtx^.IP.Destination[0]);
|
||||||
|
|
||||||
{ Setup UDPContext (UDP) & copy in the correct details }
|
{ Setup UDPContext (UDP) & copy in the correct details }
|
||||||
@@ -570,7 +578,7 @@ begin
|
|||||||
|
|
||||||
{ Check the frame is for us and then process }
|
{ Check the frame is for us and then process }
|
||||||
MAC:= getMAC;
|
MAC:= getMAC;
|
||||||
if MACEqual(@context^.PacketContext^.MAC.Destination[0], MAC) then begin
|
if MACEqual(@context^.PacketContext^.MAC.Destination[0], MAC) or MACEqual(@context^.PacketContext^.MAC.Destination[0], BROADCAST_MAC) then begin
|
||||||
Outputln('DHCP','Frame is addressed to us.');
|
Outputln('DHCP','Frame is addressed to us.');
|
||||||
{ Check the message type is client specific }
|
{ Check the message type is client specific }
|
||||||
If Header^.Message_Type = $02 then begin
|
If Header^.Message_Type = $02 then begin
|
||||||
@@ -655,7 +663,7 @@ begin
|
|||||||
copyMAC(@BROADCAST_MAC[0], @packetCtx^.MAC.Destination[0]);
|
copyMAC(@BROADCAST_MAC[0], @packetCtx^.MAC.Destination[0]);
|
||||||
MAC:= getMAC;
|
MAC:= getMAC;
|
||||||
copyMAC(MAC, @packetCtx^.MAC.Source[0]);
|
copyMAC(MAC, @packetCtx^.MAC.Source[0]);
|
||||||
copyIPv4(@NULL_IP[0], @packetCtx^.IP.Source[0]);
|
CopyIPv4(@getIPv4Config^.Address[0], @packetCtx^.IP.Source[0]);
|
||||||
copyIPv4(@BROADCAST_IP[0], @packetCtx^.IP.Destination[0]);
|
copyIPv4(@BROADCAST_IP[0], @packetCtx^.IP.Destination[0]);
|
||||||
|
|
||||||
{ Setup UDPContext (UDP) }
|
{ Setup UDPContext (UDP) }
|
||||||
|
|||||||
+1050
-178
File diff suppressed because it is too large.
Load diff
+348
-1
File diff suppressed because it is too large.
Load diff
+16
-4
@@ -150,10 +150,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;
|
||||||
@@ -382,6 +385,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);
|
||||||
@@ -390,14 +395,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);
|
||||||
@@ -406,14 +414,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);
|
||||||
@@ -422,10 +433,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;
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ if ($Command -eq 'up') {
|
|||||||
}
|
}
|
||||||
Receive-Job $MonitorJob
|
Receive-Job $MonitorJob
|
||||||
}
|
}
|
||||||
|
Get-Job | Stop-Job | Remove-Job -Force
|
||||||
} elseif ($Command -eq 'down') {
|
} elseif ($Command -eq 'down') {
|
||||||
Write-Output "Stopping $MachineName"
|
Write-Output "Stopping $MachineName"
|
||||||
VBoxManage.exe controlvm $MachineName poweroff
|
VBoxManage.exe controlvm $MachineName poweroff
|
||||||
|
|||||||
Reference in new issue
Block a user