Compare commits
34
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c8c7c2983d | ||
|
|
91bc0e5ea2 | ||
|
|
2cf879c4b9 | ||
|
|
fcc9809248 | ||
|
|
63b67f5878 | ||
|
|
e55da49900 | ||
|
|
521633c9a4 | ||
|
|
0cd32a0f64 | ||
|
|
f2e5f3535a | ||
|
|
2159578bdf | ||
|
|
7abb38ccbe | ||
|
|
c2aaf1a5c9 | ||
|
|
021aa0d82e | ||
|
|
6fa008ed79 | ||
|
|
e922f086c2 | ||
|
|
605ec9d817 | ||
|
|
1ae867d929 | ||
|
|
40a1c05728 | ||
|
|
2bfbb44cfb | ||
|
|
8ab2d0d04f | ||
|
|
b51881ced7 | ||
|
|
0d6f1e006c | ||
|
|
c70c0b52c3 | ||
|
|
452cc0c8c8 | ||
|
|
3d334b8e8b | ||
|
|
b9643a7b56 | ||
|
|
6902a406b0 | ||
|
|
36ec7bfdb6 | ||
|
|
6c3c0e63d5 | ||
|
|
df71c59aea | ||
|
|
97244a2b95 | ||
|
|
ecca496978 | ||
|
|
e52b4a9763 | ||
|
|
f78eaa3811 |
+2
-2
@@ -22,8 +22,8 @@ steps:
|
||||
commands:
|
||||
- git fetch --tags
|
||||
- find . -type f -print0 | xargs -0 dos2unix
|
||||
- chmod +x /drone/src/*.sh
|
||||
- /drone/src/compile.sh
|
||||
- chmod +x /drone/src/toolchain/*.sh
|
||||
- /drone/src/toolchain/compile.sh
|
||||
|
||||
- name: upload-iso-artifact
|
||||
image: alpine/git
|
||||
|
||||
+3
-1
@@ -16,4 +16,6 @@ dockerout.txt
|
||||
AGENTS.md
|
||||
lessons_learnt.md
|
||||
*.log
|
||||
/doc/*.md
|
||||
/doc/*.md
|
||||
wasuro
|
||||
src/core/core.version.pas
|
||||
|
||||
+1
-2
@@ -14,10 +14,9 @@ RUN curl -sL https://sourceforge.net/projects/freepascal/files/Linux/$FPC_VERSIO
|
||||
pushd fpc-$FPC_VERSION.i386-linux && ./install.sh && popd && \
|
||||
rm -rf fpc-$FPC_VERSION.i386-linux
|
||||
|
||||
COPY compile.sh /compile.sh
|
||||
ADD https://raw.githubusercontent.com/fsaintjacques/semver-tool/master/src/semver /usr/bin/semver
|
||||
RUN chmod +x /usr/bin/semver
|
||||
WORKDIR /code
|
||||
RUN find . -type f -print0 | xargs -0 dos2unix
|
||||
ENTRYPOINT ["/bin/bash", "-c"]
|
||||
CMD ["/compile.sh"]
|
||||
CMD ["find toolchain -name '*.sh' -exec dos2unix {} + 2>/dev/null; find toolchain -name '*.sh' -exec chmod +x {} +; bash toolchain/compile.sh"]
|
||||
@@ -0,0 +1,75 @@
|
||||
{ Compatibility shim: wasuro references the old unit name 'lmemorymanager'.
|
||||
Since wasuro/ cannot be modified, this unit re-exports the public API of
|
||||
memory.heap so that 'uses lmemorymanager' continues to compile. }
|
||||
unit lmemorymanager;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
memory.heap;
|
||||
|
||||
const
|
||||
ALLOC_UNIT = memory.heap.ALLOC_UNIT;
|
||||
DATA_OFFSET = memory.heap.DATA_OFFSET;
|
||||
PAGE_SIZE_LMM = memory.heap.PAGE_SIZE_LMM;
|
||||
TOTAL_UNITS = memory.heap.TOTAL_UNITS;
|
||||
BITMAP_DWORDS = memory.heap.BITMAP_DWORDS;
|
||||
SIZE_PREFIX = memory.heap.SIZE_PREFIX;
|
||||
LARGE_ALLOC_MAGIC = memory.heap.LARGE_ALLOC_MAGIC;
|
||||
|
||||
type
|
||||
PHeapPageHeader = memory.heap.PHeapPageHeader;
|
||||
THeapPageHeader = memory.heap.THeapPageHeader;
|
||||
|
||||
procedure init;
|
||||
function kalloc(size : uint32) : void;
|
||||
function klalloc(size : uint32) : void;
|
||||
procedure klfree(address : uint32);
|
||||
function kpalloc(address : uint32) : void;
|
||||
procedure kfree(area : void);
|
||||
function lmm_total_free : uint32;
|
||||
function lmm_page_count : uint32;
|
||||
|
||||
implementation
|
||||
|
||||
procedure init;
|
||||
begin
|
||||
memory.heap.init;
|
||||
end;
|
||||
|
||||
function kalloc(size : uint32) : void; inline;
|
||||
begin
|
||||
kalloc := memory.heap.kalloc(size);
|
||||
end;
|
||||
|
||||
function klalloc(size : uint32) : void; inline;
|
||||
begin
|
||||
klalloc := memory.heap.klalloc(size);
|
||||
end;
|
||||
|
||||
procedure klfree(address : uint32); inline;
|
||||
begin
|
||||
memory.heap.klfree(address);
|
||||
end;
|
||||
|
||||
function kpalloc(address : uint32) : void; inline;
|
||||
begin
|
||||
kpalloc := memory.heap.kpalloc(address);
|
||||
end;
|
||||
|
||||
procedure kfree(area : void); inline;
|
||||
begin
|
||||
memory.heap.kfree(area);
|
||||
end;
|
||||
|
||||
function lmm_total_free : uint32; inline;
|
||||
begin
|
||||
lmm_total_free := memory.heap.lmm_total_free;
|
||||
end;
|
||||
|
||||
function lmm_page_count : uint32; inline;
|
||||
begin
|
||||
lmm_page_count := memory.heap.lmm_page_count;
|
||||
end;
|
||||
|
||||
end.
|
||||
@@ -0,0 +1,7 @@
|
||||
unit types;
|
||||
|
||||
interface
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
echo " "
|
||||
echo "======================="
|
||||
echo " "
|
||||
echo "Compiling FPC Sources..."
|
||||
echo " "
|
||||
# Build -Fu flags for all directories under src/ and wasuro/
|
||||
FU_PATHS="-Fusrc -Fuwasuro"
|
||||
for dir in $(find src wasuro -type d 2>/dev/null); do
|
||||
FU_PATHS="$FU_PATHS -Fu$dir"
|
||||
done
|
||||
|
||||
fpc -Aelf -gw -g -gl -n -v0ew -O3 -OpPENTIUM3 -Si -Sc -Sg -Xd -CX -XXs -CfSSE -CfSSE2 -Rintel -Pi386 -Tlinux -FElib/ $FU_PATHS src/kernel.pas
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
echo " "
|
||||
echo "======================="
|
||||
echo " "
|
||||
echo "Compiling Stub..."
|
||||
echo " "
|
||||
nasm -f elf src/stub/stub.asm -o lib/stub.o
|
||||
File diff suppressed because it is too large
Load Diff
+587
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 1.0 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 256 KiB |
Generated
+1
@@ -0,0 +1 @@
|
||||
mnt {device}/sys /sys
|
||||
@@ -17,12 +17,12 @@
|
||||
|
||||
@author(Angus C <angus@actm.uk>)
|
||||
}
|
||||
unit base64_prog;
|
||||
unit app.base64;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
stdio, util, strings, tracer, base64, lmemorymanager;
|
||||
io.stdio, core.util, arch.x86.util, core.strings, debug.tracer, core.enc.base64, memory.heap;
|
||||
|
||||
procedure init();
|
||||
|
||||
@@ -38,7 +38,7 @@ var
|
||||
PSize : uInt32;
|
||||
|
||||
begin
|
||||
tracer.push_trace('base64_prog.run');
|
||||
debug.tracer.push_trace('base64_prog.run');
|
||||
if paramCount(Params) > 1 then begin
|
||||
encdec := getParam(0, Params);
|
||||
if stringEquals(encdec, 'encode') then begin
|
||||
@@ -58,23 +58,23 @@ begin
|
||||
dec(pinput);
|
||||
pinput^ := #0;
|
||||
result := b64_encode_str(input);
|
||||
stdio.bufWriteStrLn(stdout_buf, result);
|
||||
io.stdio.bufWriteStrLn(stdout_buf, result);
|
||||
kfree(void(result));
|
||||
end else if stringEquals(encdec, 'decode') then begin
|
||||
input := getParam(1, Params);
|
||||
result := b64_decode_str(input);
|
||||
stdio.bufWriteStrLn(stdout_buf, result);
|
||||
io.stdio.bufWriteStrLn(stdout_buf, result);
|
||||
kfree(void(result));
|
||||
end else stdio.bufWriteStrLn(stderr_buf, 'Usage: base64 <encode/decode> <text>');
|
||||
end else io.stdio.bufWriteStrLn(stderr_buf, 'Usage: core.enc.base64 <encode/decode> <text>');
|
||||
end else begin
|
||||
stdio.bufWriteStrLn(stderr_buf, 'Usage: base64 <encode/decode> <text>');
|
||||
io.stdio.bufWriteStrLn(stderr_buf, 'Usage: core.enc.base64 <encode/decode> <text>');
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure init();
|
||||
begin
|
||||
tracer.push_trace('base64_prog.init');
|
||||
stdio.registerCommand('BASE64', @Run, 'Perform Base64 Encode/Decode.');
|
||||
debug.tracer.push_trace('base64_prog.init');
|
||||
io.stdio.registerCommand('BASE64', @Run, 'Perform Base64 Encode/Decode.');
|
||||
end;
|
||||
|
||||
end.
|
||||
@@ -17,12 +17,12 @@
|
||||
|
||||
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||
}
|
||||
unit dhclient;
|
||||
unit app.dhclient;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
stdio, util, strings, tracer, dhcp;
|
||||
io.stdio, core.util, arch.x86.util, core.strings, debug.tracer, driver.net.proto.dhcp;
|
||||
|
||||
procedure init();
|
||||
|
||||
@@ -30,14 +30,14 @@ implementation
|
||||
|
||||
procedure run(Params : PParamList; stdin_buf, stdout_buf, stderr_buf : POutBuf);
|
||||
begin
|
||||
tracer.push_trace('dhclient.run');
|
||||
debug.tracer.push_trace('dhclient.run');
|
||||
DHCPDiscover();
|
||||
end;
|
||||
|
||||
procedure init();
|
||||
begin
|
||||
tracer.push_trace('dhclient.init');
|
||||
stdio.registerCommand('DHClient', @Run, 'Run the DHCP configuration utility.');
|
||||
debug.tracer.push_trace('dhclient.init');
|
||||
io.stdio.registerCommand('DHClient', @Run, 'Run the DHCP configuration utility.');
|
||||
end;
|
||||
|
||||
end.
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -17,12 +17,12 @@
|
||||
|
||||
@author(Kieron Morris <kjm@kieronmorris.me>)
|
||||
}
|
||||
unit md5sum;
|
||||
unit app.md5sum;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
stdio, util, strings, tracer, md5;
|
||||
io.stdio, core.util, arch.x86.util, core.strings, debug.tracer, core.enc.md5;
|
||||
|
||||
procedure init();
|
||||
|
||||
@@ -40,15 +40,15 @@ begin
|
||||
wordlen:= stringSize(md5word);
|
||||
MD5_Hash := MD5Buffer(puint8(md5word), wordlen);
|
||||
for i:=0 to 15 do begin
|
||||
stdio.bufWriteHexPair(stdout_buf, MD5_Hash^[i]);
|
||||
io.stdio.bufWriteHexPair(stdout_buf, MD5_Hash^[i]);
|
||||
end;
|
||||
stdio.bufWriteStrLn(stdout_buf, ' ');
|
||||
io.stdio.bufWriteStrLn(stdout_buf, ' ');
|
||||
end;
|
||||
|
||||
procedure init();
|
||||
begin
|
||||
tracer.push_trace('md5sum.init');
|
||||
stdio.registerCommand('MD5SUM', @Run, 'Perform MD5SUM on a word.');
|
||||
debug.tracer.push_trace('md5sum.init');
|
||||
io.stdio.registerCommand('MD5SUM', @Run, 'Perform MD5SUM on a word.');
|
||||
end;
|
||||
|
||||
end.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user