mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2024-12-25 23:10:32 +00:00
Merge branch 'master' into strscan_memcopy
This commit is contained in:
commit
86d994c8de
8 changed files with 39 additions and 8 deletions
7
.github/workflows/build.yml
vendored
7
.github/workflows/build.yml
vendored
|
@ -40,12 +40,19 @@ jobs:
|
||||||
sudo udevadm trigger --name-match=kvm
|
sudo udevadm trigger --name-match=kvm
|
||||||
|
|
||||||
- name: Run ISOs Build Script
|
- name: Run ISOs Build Script
|
||||||
|
timeout-minutes: 10
|
||||||
if: ${{ success() }}
|
if: ${{ success() }}
|
||||||
run: |
|
run: |
|
||||||
cd build
|
cd build
|
||||||
./build-iso.sh --headless
|
./build-iso.sh --headless
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
|
- name: ISO Check
|
||||||
|
if: ${{ success() && hashFiles('./build/*.iso') == '' }}
|
||||||
|
run: |
|
||||||
|
echo "ISOs not built!"
|
||||||
|
exit 1
|
||||||
|
|
||||||
- name: Releasing Latest ISOs
|
- name: Releasing Latest ISOs
|
||||||
if: ${{ success() && github.event_name == 'push'}}
|
if: ${{ success() && github.event_name == 'push'}}
|
||||||
uses: "GutPuncher/action-automatic-releases@latest"
|
uses: "GutPuncher/action-automatic-releases@latest"
|
||||||
|
|
|
@ -635,7 +635,13 @@ I64 PCNetPacketReceive(U8 **packet_buffer_out, U16 *packet_length_out)
|
||||||
NetDebug("PCNET RECEIVE PACKET: de_index incremented = 0x%0X", pcnet.current_rx_de_index);
|
NetDebug("PCNET RECEIVE PACKET: de_index incremented = 0x%0X", pcnet.current_rx_de_index);
|
||||||
|
|
||||||
*packet_buffer_out = pcnet.rx_buffer_addr_phys + de_index * ETHERNET_FRAME_SIZE;
|
*packet_buffer_out = pcnet.rx_buffer_addr_phys + de_index * ETHERNET_FRAME_SIZE;
|
||||||
*packet_length_out = packet_length;
|
|
||||||
|
// ASTRPRCV causes 802.3 packets to be stripped and FCS to be checked
|
||||||
|
U16 ethertype = (*packet_buffer_out)[ETHERNET_ETHERTYPE_OFFSET + 1] | (*packet_buffer_out)[ETHERNET_ETHERTYPE_OFFSET] << 8;
|
||||||
|
if (ethertype < ETHERNET_v2_MTU)
|
||||||
|
*packet_length_out = ethertype;
|
||||||
|
else
|
||||||
|
*packet_length_out = packet_length - FCS_LENGTH; // ethertype ii TODO: Validate FCS
|
||||||
|
|
||||||
return de_index;
|
return de_index;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,8 @@ U0 EthernetGlobalsInit()
|
||||||
|
|
||||||
U0 EthernetFrameParse(CEthernetFrame *frame_out, U8 *frame, U16 length)
|
U0 EthernetFrameParse(CEthernetFrame *frame_out, U8 *frame, U16 length)
|
||||||
{
|
{
|
||||||
|
// length is assumed to NOT include the FCS.
|
||||||
|
|
||||||
// Shrine says MemCopy has a high overhead.
|
// Shrine says MemCopy has a high overhead.
|
||||||
// Almost tempted to say that means that a lot
|
// Almost tempted to say that means that a lot
|
||||||
// of the current system should be done with
|
// of the current system should be done with
|
||||||
|
@ -45,10 +47,7 @@ U0 EthernetFrameParse(CEthernetFrame *frame_out, U8 *frame, U16 length)
|
||||||
|
|
||||||
frame_out->data = frame + ETHERNET_DATA_OFFSET;
|
frame_out->data = frame + ETHERNET_DATA_OFFSET;
|
||||||
|
|
||||||
if (frame_out->ethertype <= ETHERNET_v2_MTU) // check if the field is a length or an ethertype
|
frame_out->length = length - ETHERNET_MAC_HEADER_LENGTH;
|
||||||
frame_out->length = frame_out->ethertype;
|
|
||||||
else
|
|
||||||
frame_out->length = length - ETHERNET_MAC_HEADER_LENGTH - FCS_LENGTH;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
U0 EthernetFrameFinish(I64 de_index)
|
U0 EthernetFrameFinish(I64 de_index)
|
||||||
|
|
|
@ -110,6 +110,16 @@ Bool MyPutKey(I64 ch, I64 sc)
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
|
case SC_F12:
|
||||||
|
if (!(sc & SCF_SHIFT))
|
||||||
|
{
|
||||||
|
if (sc & SCF_KEY_DESC)
|
||||||
|
KeyDescSet("Cmd /SysLogToggle");
|
||||||
|
else
|
||||||
|
SysLogToggle;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
case SC_DELETE:
|
case SC_DELETE:
|
||||||
if (sc & SCF_SHIFT)
|
if (sc & SCF_SHIFT)
|
||||||
{
|
{
|
||||||
|
|
|
@ -47,9 +47,9 @@ See also $LK,"GrUpdateScreen",A="MN:GrUpdateScreen"$().
|
||||||
}
|
}
|
||||||
else if (ch == '\n')
|
else if (ch == '\n')
|
||||||
{
|
{
|
||||||
RawPutChar(CH_SPACE);
|
do
|
||||||
while (text.raw_col % text.cols)
|
|
||||||
RawPutChar(CH_SPACE);
|
RawPutChar(CH_SPACE);
|
||||||
|
while (text.raw_col % text.cols);
|
||||||
}
|
}
|
||||||
else if (Bt(char_bmp_displayable, ch))
|
else if (Bt(char_bmp_displayable, ch))
|
||||||
{
|
{
|
||||||
|
|
|
@ -504,6 +504,14 @@ I64 Sys(U8 *format, ...)
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
U0 SysLogToggle()
|
||||||
|
{
|
||||||
|
if (Bt(&sys_task->display_flags, DISPLAYf_SHOW))
|
||||||
|
LBtr(&sys_task->display_flags, DISPLAYf_SHOW);
|
||||||
|
else
|
||||||
|
LBts(&sys_task->display_flags, DISPLAYf_SHOW);
|
||||||
|
}
|
||||||
|
|
||||||
U0 SysLog(U8 *format, ...)
|
U0 SysLog(U8 *format, ...)
|
||||||
{//Display text in sys_task.
|
{//Display text in sys_task.
|
||||||
U8 *buf = StrPrintJoin(NULL, format, argc, argv);
|
U8 *buf = StrPrintJoin(NULL, format, argc, argv);
|
||||||
|
|
|
@ -14,7 +14,7 @@ U8 *rev_bits_table; //Table with U8 bits reversed
|
||||||
CDate local_time_offset;
|
CDate local_time_offset;
|
||||||
F64 *pow10_I64,
|
F64 *pow10_I64,
|
||||||
sys_os_version = 2.03;
|
sys_os_version = 2.03;
|
||||||
U64 sys_os_version_sub = 113;
|
U64 sys_os_version_sub = 116;
|
||||||
U8 *sys_os_version_str;
|
U8 *sys_os_version_str;
|
||||||
U8 *sys_os_version_full;
|
U8 *sys_os_version_full;
|
||||||
U8 *sys_os_version_nice;
|
U8 *sys_os_version_nice;
|
||||||
|
|
|
@ -437,6 +437,7 @@ public extern I64 Scale2Mem(I64 min, I64 max, I64 limit=2*1024*1024*1024);
|
||||||
public extern U0 SysErr( U8 *format, ...);
|
public extern U0 SysErr( U8 *format, ...);
|
||||||
public extern U0 SysWarn(U8 *format, ...);
|
public extern U0 SysWarn(U8 *format, ...);
|
||||||
public extern U0 SysLog( U8 *format, ...);
|
public extern U0 SysLog( U8 *format, ...);
|
||||||
|
public extern U0 SysLogToggle();
|
||||||
public extern I64 ExeCmdLine(CCompCtrl *cc);
|
public extern I64 ExeCmdLine(CCompCtrl *cc);
|
||||||
public extern U0 JobDel(CJob *tmpc);
|
public extern U0 JobDel(CJob *tmpc);
|
||||||
public extern I64 JobsHandler(I64 run_flags, CTask *task=NULL);
|
public extern I64 JobsHandler(I64 run_flags, CTask *task=NULL);
|
||||||
|
|
Loading…
Reference in a new issue