Merge branch 'feature/fpc-3.2.2' into feature/lvgl
# Conflicts: # .drone.yml # virtualbox-wrapper.ps1
This commit is contained in:
+16
-2
@@ -24,7 +24,7 @@ steps:
|
||||
- find . -type f -print0 | xargs -0 dos2unix
|
||||
- chmod +x /drone/src/*.sh
|
||||
- /drone/src/compile.sh
|
||||
|
||||
|
||||
- name: upload-iso-artifact
|
||||
image: alpine/git
|
||||
depends_on:
|
||||
@@ -49,4 +49,18 @@ steps:
|
||||
-H "Authorization: token $GITEA_TOKEN" || echo "No previous latest version found."
|
||||
- |
|
||||
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
|
||||
|
||||
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 - && \
|
||||
pushd fpc-$FPC_VERSION.i386-linux && ./install.sh && popd && \
|
||||
rm -rf fpc-$FPC_VERSION.i386-linux
|
||||
|
||||
+1
-1
@@ -4,4 +4,4 @@ echo "======================="
|
||||
echo " "
|
||||
echo "Compiling FPC Sources..."
|
||||
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 = .;
|
||||
kernel_end = .;
|
||||
|
||||
/DISCARD/ : {
|
||||
*(.init_array*)
|
||||
*(.fini_array*)
|
||||
*(.ctors)
|
||||
*(.dtors)
|
||||
*(.eh_frame*)
|
||||
*(.gcc_except_table*)
|
||||
*(.note.GNU-stack)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,16 +58,19 @@ begin
|
||||
end;
|
||||
|
||||
function sinb(port : uint16) : uint8;
|
||||
var
|
||||
tmp : uint8;
|
||||
begin
|
||||
asm
|
||||
PUSH EAX
|
||||
PUSH EDX
|
||||
MOV DX, port
|
||||
IN AL, DX
|
||||
MOV sinb, AL
|
||||
MOV tmp, AL
|
||||
POP EDX
|
||||
POP EAX
|
||||
end;
|
||||
sinb := tmp;
|
||||
io_wait;
|
||||
end;
|
||||
|
||||
|
||||
@@ -491,22 +491,26 @@ begin
|
||||
|
||||
{ Create a new header to the use in our DHCP REQUEST packet }
|
||||
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]));
|
||||
processHeader(SendHeader);
|
||||
|
||||
{ Setup Options }
|
||||
SendOptions:= newOptions();
|
||||
|
||||
{ Create a message type option and assign it the value REQUEST }
|
||||
SendMsgType:= ord(TDHCPMessageType.REQUEST);
|
||||
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 }
|
||||
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 }
|
||||
Option:= getOptionByOpcode(Options, TDHCPOpCode.SERVER_IDENTIFIER);
|
||||
if Option <> nil then begin
|
||||
NewOption(SendOptions, TDHCPOpCode.SERVER_IDENTIFIER, void(@Option^.Value[0]), 4, false);
|
||||
end;
|
||||
|
||||
{ Create a Parameter Request List, Request the following: Netmask, Gateway, DNS Name & DNS Server }
|
||||
RequestParams[0]:= Ord(TDHCPOpCode.SUBNET_MASK);
|
||||
RequestParams[1]:= Ord(TDHCPOpCode.ROUTER);
|
||||
@@ -522,9 +526,13 @@ begin
|
||||
MAC:= getMAC();
|
||||
packetCtx:= PPacketContext(Kalloc(sizeof(TPacketContext)));
|
||||
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]);
|
||||
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]);
|
||||
|
||||
{ Setup UDPContext (UDP) & copy in the correct details }
|
||||
@@ -570,7 +578,7 @@ begin
|
||||
|
||||
{ Check the frame is for us and then process }
|
||||
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.');
|
||||
{ Check the message type is client specific }
|
||||
If Header^.Message_Type = $02 then begin
|
||||
@@ -655,7 +663,7 @@ begin
|
||||
copyMAC(@BROADCAST_MAC[0], @packetCtx^.MAC.Destination[0]);
|
||||
MAC:= getMAC;
|
||||
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]);
|
||||
|
||||
{ Setup UDPContext (UDP) }
|
||||
|
||||
+1110
-238
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;
|
||||
|
||||
function getESP : uint32;
|
||||
var
|
||||
tmp: uint32;
|
||||
begin
|
||||
asm
|
||||
MOV getESP, ESP
|
||||
MOV tmp, ESP
|
||||
end;
|
||||
getESP := tmp;
|
||||
end;
|
||||
|
||||
function HexCharToDecimal(hex : char) : uint8;
|
||||
@@ -382,6 +385,8 @@ begin
|
||||
end;
|
||||
|
||||
function inl(port : uint16) : uint32; [public, alias: 'util_inl'];
|
||||
var
|
||||
tmp : uint32;
|
||||
begin
|
||||
//serial.sendString('[inl]');
|
||||
//serial.sendHex(port);
|
||||
@@ -390,14 +395,17 @@ begin
|
||||
PUSH EDX
|
||||
MOV DX, port
|
||||
IN EAX, DX
|
||||
MOV inl, EAX
|
||||
MOV tmp, EAX
|
||||
POP EDX
|
||||
POP EAX
|
||||
end;
|
||||
inl := tmp;
|
||||
io_wait;
|
||||
end;
|
||||
|
||||
function inw(port : uint16) : uint16; [public, alias: 'util_inw'];
|
||||
var
|
||||
tmp : uint16;
|
||||
begin
|
||||
//serial.sendString('[inw]');
|
||||
//serial.sendHex(port);
|
||||
@@ -406,14 +414,17 @@ begin
|
||||
PUSH EDX
|
||||
MOV DX, port
|
||||
IN AX, DX
|
||||
MOV inw, AX
|
||||
MOV tmp, AX
|
||||
POP EDX
|
||||
POP EAX
|
||||
end;
|
||||
inw := tmp;
|
||||
io_wait;
|
||||
end;
|
||||
|
||||
function inb(port : uint16) : uint8; [public, alias: 'util_inb'];
|
||||
var
|
||||
tmp : uint8;
|
||||
begin
|
||||
//serial.sendString('[inb]');
|
||||
//serial.sendHex(port);
|
||||
@@ -422,10 +433,11 @@ begin
|
||||
PUSH EDX
|
||||
MOV DX, port
|
||||
IN AL, DX
|
||||
MOV inb, AL
|
||||
MOV tmp, AL
|
||||
POP EDX
|
||||
POP EAX
|
||||
end;
|
||||
inb := tmp;
|
||||
io_wait;
|
||||
end;
|
||||
|
||||
|
||||
@@ -170,7 +170,7 @@ begin
|
||||
klalloc:= Address;
|
||||
end;
|
||||
|
||||
function kalloc(size : uint32) : void;
|
||||
function kalloc(size : uint32) : void; [public, alias: 'kernel_kalloc'];
|
||||
var
|
||||
Heap_Entries : uint32;
|
||||
i, j : uint32;
|
||||
@@ -217,7 +217,7 @@ begin
|
||||
//pop_trace;
|
||||
end;
|
||||
|
||||
procedure kfree(area : void);
|
||||
procedure kfree(area : void); [public, alias: 'kernel_kfree'];
|
||||
var
|
||||
hp : PHeapPage;
|
||||
entry : uint32;
|
||||
|
||||
@@ -52,6 +52,7 @@ if ($Command -eq 'up') {
|
||||
}
|
||||
Receive-Job $MonitorJob
|
||||
}
|
||||
Get-Job | Stop-Job | Remove-Job -Force
|
||||
} elseif ($Command -eq 'down') {
|
||||
Write-Output "Stopping $MachineName"
|
||||
VBoxManage.exe controlvm $MachineName poweroff
|
||||
|
||||
Reference in New Issue
Block a user