FreeDOS kernel - implements the core MS-DOS/PC-DOS (R) compatible operating system. It is derived from Pat Villani's DOS-C kernel and released under the GPL v2 or later. Please see http://www.freedos.org/ for more details about the FreeDOS (TM) Project.
Go to file
C. Masloch 8e6fc98a94 config: bugfix, make struct array configcommands static (fixes #73)
A crash was introduced by the prior commit, ee255d2. I
tested that the kernel still did build with gcc, but I
failed to test whether it also still runs. Turns out that
apparently changing the pointers to static made it so gcc
put the structure into the init data segment and
implicitly called memcpy to put it on the stack. That's
wrong, however. We depend on #define to convert all calls
in init to the init text copies of memcpy etc. The
implicit call by gcc however attempts to call the HMA text
copy of memcpy which happens to be at another offset.

The fix is to make the entire array of structs static so
that memory for it is allocated only in the init data
segment, not on the stack. This seems to work for both
gcc and OpenWatcom (no warnings, it builds, it runs).
2022-05-22 13:16:39 -04:00
.github/workflows add one directory level for files upload 2021-10-17 06:36:24 -04:00
bin Introduce end-of-line normalization 2017-12-22 09:37:31 -05:00
boot boot, oemboot: fix to abort properly on file not found 2021-07-29 17:19:45 -04:00
country@a170a55084 Build: Update country submodule 2021-12-31 17:27:32 -05:00
docs Update index.md with GitHub information 2021-05-14 07:45:55 -04:00
drivers Fix Func 2Dh (Set System Time) sets wrong time 2020-08-21 13:57:26 -04:00
hdr kernel, main: add debugger_present variable and skip ints 0, 1, 3, 6 2022-05-21 23:22:08 -04:00
kernel config: bugfix, make struct array configcommands static (fixes #73) 2022-05-22 13:16:39 -04:00
lib FreeDOS kernel current - 2041+svn1709 2012-10-14 20:08:06 -04:00
mkfiles mkfiles: fix compilation with current gcc-ia16 2022-05-21 23:22:08 -04:00
setver suppress NASM warning 2021-10-17 06:37:05 -04:00
share@f2efe19f23 Share: Update submodule 2021-11-08 08:59:00 -05:00
sys kernel, main: add debugger_present variable and skip ints 0, 1, 3, 6 2022-05-21 23:22:08 -04:00
tests add tests for FCB rename - based on tests from andrewbird https://github.com/dosemu2/fdpp/pull/42#issuecomment-446309983 2021-08-21 10:01:12 -04:00
utils exeflat: store original ss:sp in UPX help data 2022-05-21 23:22:08 -04:00
.gitattributes CI: Remove Travis as it no longer works for us. 2022-01-10 17:58:30 -05:00
.gitignore .gitignore: add setver.sys 2021-03-26 02:19:33 -04:00
.gitmodules Build: Add country submodule 2021-12-30 11:55:17 -05:00
COPYING Add the full text of the license (GPL v2). (#8) 2019-12-01 21:08:56 -05:00
MAKEPKGS.BAT update to make current FreeDOS style package, not 1.0 version 2021-05-14 22:58:43 -04:00
README.md CI: Remove Travis as it no longer works for us. 2022-01-10 17:58:30 -05:00
RELEASE.BAT add example of pushing tag to origin, use HEAD instead of just tagged branch to avoid detached head warning as should be same 2021-05-13 23:38:29 -04:00
build.bat build.bat add lfn alias to lfnapi 2021-08-08 14:24:26 -04:00
buildall.bat Introduce end-of-line normalization 2017-12-22 09:37:31 -05:00
ci_build.sh ci_build.sh: fix CI build to correct OW file, wget --no-verbose 2022-05-21 23:22:08 -04:00
ci_test.sh CI: Split into two output directories 2021-10-16 20:43:58 -04:00
clean.bat Implement version table support for int21/ah=4b, subfunctions 0 and 1 2021-03-10 22:21:19 -05:00
clobber.bat Implement version table support for int21/ah=4b, subfunctions 0 and 1 2021-03-10 22:21:19 -05:00
config.b Introduce end-of-line normalization 2017-12-22 09:37:31 -05:00
config.m fix and enable i386 support 2017-12-06 23:13:47 -05:00
default.bat Introduce end-of-line normalization 2017-12-22 09:37:31 -05:00
filelist FreeDOS kernel current - 2041+svn1709 2012-10-14 20:08:06 -04:00
makefile Implement version table support for int21/ah=4b, subfunctions 0 and 1 2021-03-10 22:21:19 -05:00

README.md

fd kernel

FreeDOS kernel - current 0xFD version is 2.43 (2043)

http://www.fdos.org/kernel/

The FreeDOS kernel implements the core MS/PC-DOS (R) compatible functions. It is derived from Pat Villani's DOS-C kernel and released under the GPL v2. Please see http://www.freedos.org/ for more details about the FreeDOS (TM) Project. This was originally a branch based on 2042 SVN 0xFD kernel; the full svn history has since been added to git (see other branches) and current development of release kernels are available here. Please fork and submit a Pull Request!

Compiled kernels ready to use (just copy kernel.sys over an existing install) are available at http://www.fdos.org/kernel/testing/git/ - also available are the source archive and fdpkg compatible packages. *** TODO update links/upload archives

This version of the kernel is intended only for 8086+ or 80386+ IBM compatible computers in continuation of the goals of the FreeDOS Project. Please see http://www.fdos.org/kernel for my 0xDC kernel that is work on merging back in some of the original portability aspects and other supported features at the cost of some compatibility with older hardware/software.

Please feel free to email me - PerditionC@gmail.com

Now with automatic builds and soon tests Build