| [CI] 2nd attempt at fixing GH CI workflow | 2 months ago |
| mfmhd: take port, irq and flags from mfm= in /bootopts Use struct isa_conf for mfm= so the port, irq and flag bits come from /bootopts, with the defaults in ports.h. Drops CONFIG_MFMHD_PORT, which needed a rebuild to change, and the stale mfm globals in main.c. | 1 month ago |
| [docs] Add Nano-X screenshot and update README.md | 1 year ago |
| Standardize low core segment names, add DMASEG selector. ATA/CF now works in PM | 2 months ago |
| [kernel] Implement /bootopts ne0=off for all NIC drivers, other cleanup | 1 month ago |
| [net,cmds] Light cleanup of unused network code, add UDP display to netstat | 29 days ago |
| Merge pull request #2812 from parabyte/gem-desktop-extapp [cmds] Add GEM Desktop as an external application | 27 days ago |
| fix compiler warning Fixing a compile warning at the very end of the build cycle and thus being very visible: make[1]: Entering directory '/home/mf/src/elks/elksemu' cp /home/mf/src/elks/cross/share/misc/elks/call_tab.v call_tab.v cp /home/mf/src/elks/cross/share/misc/elks/defn_tab.v defn_tab.v cc -O -DUSE_PTRACE=1 -c -o elks_sys.o elks_sys.c elks_sys.c: In function ‘elks_open’: elks_sys.c:154:9: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 154 | write(fd, efile, sizeof(efile)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc -O -DUSE_PTRACE=1 -o elksemu elks.o elks_sys.o elks_signal.o elks_pid.o minix.o make[1]: Leaving directory '/home/mf/src/elks/elksemu' | 6 months ago |
| [kernel] Build all possible drivers whether linked into kernel or not | 1 month ago |
| [boot] Cleanup boot load segment to be read from single file | 4 years ago |
| [libc] memcpy: drop the long comment | 1 month ago |
| [build] Build ELKS using parallel make jobs up to max CPU cores | 2 months ago |
| Adding Dockerfile for compiling cross and kernel | 4 years ago |
| 286 protected-mode kernel HAL (rebased onto ghaerr/pmode) Boot the ELKS kernel in 80286 protected mode: real->PM mode switch, GDT/IDT, ring-0 execution, and a full port of the memory model to GDT selectors. Runs to an interactive shell and multi-user telnet login over the network (ne2k -> ktcp -> telnetd -> pty -> login) on QEMU/KVM. Rebased onto the pmode branch (#2721), adopting its struct segment base(selector)/para(physical) convention: seg->base is the GDT selector handed out via SEG_HANDLE(), the arena manages the physical paragraph in seg->para, and seg_pm_attach() builds each descriptor from para and stores the selector in base -- dropping the port's parallel 'sel' member and collapsing many CONFIG_286_PMODE ifdefs into pmode's LINADDR/BASE/KERNEL_CS/ KERNEL_DS/BIOSSEG/VIDEOSEG macros. - pm_enter.S mode switch + gdt_init descriptors (KCODE/KDATA/KFTEXT plus setup/optseg/biosdata/video/track selectors) and an IDT fault reporter. - PIC remap, IRQ trampolines and the syscall path reworked for PM selectors. - directfd DMA via desc_base/LINADDR; buffer cache, exec, fork and signals use selectors; compressed-exec (elks-compress) support. - /dev/kmem returns loadable KERNEL_CS/DS and decodes the PM seek window, so ps/meminfo read the task table (argv COMMAND still needs a selector-aware protocol or procfs). - compile-time config validation in pm286.c; small single-segment PM config template + mkimg.sh contiguous-image builder; .gitattributes keeps *.config LF for the build tooling. Builds and boots in 286 PM (ibmpc-286pm-small.config), verified end to end including telnet login over ne2k under the pmode base/para memory manager. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> | 2 months ago |
| small build fixes fix parallel make fix env.sh fix compilation with new host gcc | 1 year ago |
| [kernel] Build all possible drivers whether linked into kernel or not | 1 month ago |
| [build] Move unused/non-compiled commands to elkscmd/unused | 6 months ago |
| Dockerfile: Add bison and flex to fix binutils compilation | 8 months ago |
| inital commit of elkscmd/beep | 2 years ago |
| Move image build from /elkscmd to /image | 8 years ago |
| [build] Fix 'make kimage' Some builds were improper due to not waiting for kernel build to finish before starting application installation. | 1 month ago |
| 286 protected-mode kernel HAL (rebased onto ghaerr/pmode) Boot the ELKS kernel in 80286 protected mode: real->PM mode switch, GDT/IDT, ring-0 execution, and a full port of the memory model to GDT selectors. Runs to an interactive shell and multi-user telnet login over the network (ne2k -> ktcp -> telnetd -> pty -> login) on QEMU/KVM. Rebased onto the pmode branch (#2721), adopting its struct segment base(selector)/para(physical) convention: seg->base is the GDT selector handed out via SEG_HANDLE(), the arena manages the physical paragraph in seg->para, and seg_pm_attach() builds each descriptor from para and stores the selector in base -- dropping the port's parallel 'sel' member and collapsing many CONFIG_286_PMODE ifdefs into pmode's LINADDR/BASE/KERNEL_CS/ KERNEL_DS/BIOSSEG/VIDEOSEG macros. - pm_enter.S mode switch + gdt_init descriptors (KCODE/KDATA/KFTEXT plus setup/optseg/biosdata/video/track selectors) and an IDT fault reporter. - PIC remap, IRQ trampolines and the syscall path reworked for PM selectors. - directfd DMA via desc_base/LINADDR; buffer cache, exec, fork and signals use selectors; compressed-exec (elks-compress) support. - /dev/kmem returns loadable KERNEL_CS/DS and decodes the PM seek window, so ps/meminfo read the task table (argv COMMAND still needs a selector-aware protocol or procfs). - compile-time config validation in pm286.c; small single-segment PM config template + mkimg.sh contiguous-image builder; .gitattributes keeps *.config LF for the build tooling. Builds and boots in 286 PM (ibmpc-286pm-small.config), verified end to end including telnet login over ne2k under the pmode base/para memory manager. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> | 2 months ago |
| Update README.md with video from Action Retro | 2 months ago |
| [kernel] Build all possible drivers whether linked into kernel or not | 1 month ago |
| [build] Add bochs emulator support for IBM PC text and graphics | 6 months ago |
| [build] Add bochs emulator support for IBM PC text and graphics | 6 months ago |
| [build] More cleanups for parallel make | 2 months ago |
| [c86] Fix buildc86.sh build script | 9 months ago |
| Add GEM Desktop as an external application buildext.sh: add a gem() function that clones and builds parabyte/Gem-elks, and include it in make_all. ExtApplications: install the GEM server, Desktop and applications to /bin, and the GEM.RSC, font and icon resources to /GEMAPPS/GEMSYS, under the :gem tag. | 27 days ago |
| [build] Fix buildimages.sh to build IBM PC nano-X for IBM PC images | 4 months ago |
| Add official coding style guidelines adopted from the Linux kernel | 9 years ago |
| [config] Regroup image | 6 years ago |
| [kernel/libc] Rename posix_types.h to posixtyp.h for DEV86 build on FAT | 9 months ago |
| [kernel] Fix seg_pm_attach error in real mode from prior commit | 2 months ago |
| [kernel] Build all possible drivers whether linked into kernel or not | 1 month ago |
| [kernel] Build all possible drivers whether linked into kernel or not | 1 month ago |
| [kernel] Build all possible drivers whether linked into kernel or not | 1 month ago |
| [emu86] Update access to EMU86 emulator for kernel symbolic debugging | 7 months ago |
| [tools] Add WonderSwan emulator script. | 9 months ago |
| [build] Build ELKS using parallel make jobs up to max CPU cores | 2 months ago |
| Merge pull request #2716 from ghaerr/pr-2671 [console] Allow up to 8 RAM-backed text consoles and optionally save/restore on graphics program exit | 2 months ago |
| Merge pull request #2716 from ghaerr/pr-2671 [console] Allow up to 8 RAM-backed text consoles and optionally save/restore on graphics program exit | 2 months ago |
| [kernel] More fixes to PM kernel | 1 month ago |
| [build] Move unused/non-compiled commands to elkscmd/unused | 6 months ago |
| Cleanup | 2 months ago |
| Cleanup | 2 months ago |
| Cleanup | 2 months ago |
| Cleanup | 2 months ago |
| [net] Fix network hang, leak and race issues in kernel and ktcp tcpdev_read()/tcpdev_connect(): Return -EPIPE or -ECONNREFUSED instead of no reply at all, which would hang the network due to the read/connect being blocked on a single reply buffer in the tcpdev ktcp<->kernel transfer driver. Fixes network stack hangs during read or connect when CB is deallocated through a received RST or any other reason that deallocates an active CB. tcp_established(): decrement tcpcb_need_push when a RST frees a CB that still has unread data to stop continual AVAIL_DATA notifications. tcp_synrecv(): free the cloned CB on RST rather than only resetting state, each half-open RST leaked ~4.5K. inet_process_tcpdev() / TDT_ACCEPT: Copy accept() result out immediately and and release bufin_sem, which breaks a bufin_sem/bufout_sem deadlock between ktcp and ftpd under load. | 29 days ago |
| fix check for root line https://github.com/ghaerr/elks/pull/1638 was a mistake and actually throws an error: # sudo ./slattach.sh ./slattach.sh: 6: [[: not found This fixes it (on bash and ksh). | 6 months ago |
| [kernel] Build all possible drivers whether linked into kernel or not | 1 month ago |
| [build] Move unused/non-compiled commands to elkscmd/unused | 6 months ago |