Ticket #9 (new enhancement)

Opened 3 years ago

Last modified 3 years ago

Upgrade kernel support

Reported by: debrouxl Owned by: somebody
Priority: major Milestone: Version 1.00
Component: library-main Version: 0.96
Keywords: Cc:

Description

PreOS has been the sole maintained so-called 'kernel' for five years or so, and it's the only one that works on 89T. That makes it the de-facto standard.

TIGCC supports an older version of the kernel format, libraries, etc. Upgrade that stuff ?

Attachments

kernel_save.h Download (145.6 KB) - added by debrouxl 3 years ago.
kernel.h as found in PreOS 1.0.5
kernel_1.h Download (68.7 KB) - added by debrouxl 3 years ago.
First step of the de-duplication of definitions: mark which TIGCC headers are to be used
kernel.h Download (16.3 KB) - added by debrouxl 3 years ago.
Current state of kernel.h: more duplication removed, TODO/FIXME added.

Change History

comment:1 Changed 3 years ago by debrouxl

  • Component changed from component1 to library-main

comment:2 Changed 3 years ago by godzil

  • Version set to 0.96
  • Milestone set to Version 1.00

comment:3 Changed 3 years ago by debrouxl

comment:4 Changed 3 years ago by debrouxl

I've removed from kernel.h most duplication of definitions contained in the TIGCC headers. I hope I haven't added bugs in the process :D

I'm posting the current state of kernel.h. Further integration in TIGCC requires modifications to the TIGCC headers:

  • merge with default.h;
  • merge with compat.h (caution, handle the several incompatibilities between PreOS and DoorsOS);
  • minor changes in flash.h (FL_getHardwareParmBlock) and stdlib.h (#ifndef DOORS ... #endif).

As long as default.h does not contain PreOS-specific code, for kernel.h to work correctly with the TIGCC headers, a command equivalent to the following one must be run in the directory containing the TIGCC headers:

perl -pi -e "s@\#include \<default.h\>@#ifndef KERNEL_NEW\r\n#include <default.h>\r\n#endif@g" *

(prevent inclusion of the default.h header, which currently conflicts with kernel.h, by using a #define put in kernel.h before it #includes of the TIGCC headers).

Will attach the original kernel.h (as found in PreOS 1.0.5), the current state of the kernel.h upgrade, and a step between those two.

Changed 3 years ago by debrouxl

kernel.h as found in PreOS 1.0.5

Changed 3 years ago by debrouxl

First step of the de-duplication of definitions: mark which TIGCC headers are to be used

Changed 3 years ago by debrouxl

Current state of kernel.h: more duplication removed, TODO/FIXME added.

Note: See TracTickets for help on using tickets.