mirror of
https://github.com/FDOS/kernel.git
synced 2025-07-29 00:34:10 +02:00
tc2-build: correct various build breaks for Turbo C 2.0 build
This commit is contained in:
parent
58573d69d9
commit
2fb0956513
@ -74,12 +74,12 @@ struct HugeSectorBlock {
|
|||||||
/* to compile under gcc-ia16 to correctly-behaving code _for now_. But */
|
/* to compile under gcc-ia16 to correctly-behaving code _for now_. But */
|
||||||
/* it will be better to be able to guarantee this. -- tkchia 20191207 */
|
/* it will be better to be able to guarantee this. -- tkchia 20191207 */
|
||||||
|
|
||||||
/* Update: I added experimental SS != DGROUP support, and a __seg_ss */
|
/* Update: I added experimental SS != DGROUP support, and a __seg_ss */
|
||||||
/* address space qualifier, to gcc-ia16 around January 2020. This */
|
/* address space qualifier, to gcc-ia16 around January 2020. This */
|
||||||
/* function now uses these if available. In particular, the iregs *irp */
|
/* function now uses these if available. In particular, the iregs *irp */
|
||||||
/* structure will always be on the stack, so (as far as the calling */
|
/* structure will always be on the stack, so (as far as the calling */
|
||||||
/* convention permits) the function can treat the irp pointer as a */
|
/* convention permits) the function can treat the irp pointer as a */
|
||||||
/* 16-bit pointer relative to SS. -- tkchia 20200417 */
|
/* 16-bit pointer relative to SS. -- tkchia 20200417 */
|
||||||
#if defined __GNUC__ && defined __IA16_FEATURE_ATTRIBUTE_NO_ASSUME_SS_DATA
|
#if defined __GNUC__ && defined __IA16_FEATURE_ATTRIBUTE_NO_ASSUME_SS_DATA
|
||||||
__attribute__((no_assume_ss_data))
|
__attribute__((no_assume_ss_data))
|
||||||
VOID ASMCFUNC int21_syscall(iregs __seg_ss * irp, ...)
|
VOID ASMCFUNC int21_syscall(iregs __seg_ss * irp, ...)
|
||||||
@ -142,16 +142,16 @@ VOID ASMCFUNC int21_syscall(iregs FAR * irp)
|
|||||||
|
|
||||||
/* the remaining are FreeDOS extensions */
|
/* the remaining are FreeDOS extensions */
|
||||||
|
|
||||||
/* return CPU family */
|
/* return CPU family */
|
||||||
case 0xfa:
|
case 0xfa:
|
||||||
irp->AL = CPULevel;
|
irp->AL = CPULevel;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#if 0 /* unknown if used / usage */
|
#if 0 /* unknown if used / usage */
|
||||||
case 0xfb:
|
case 0xfb:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if 1 /* duplicates DOS 4 int 2F/122Fh, but used by CALLVER */
|
#if 1 /* duplicates DOS 4 int 2F/122Fh, but used by CALLVER */
|
||||||
/* set FreeDOS returned version for int 21.30 from BX */
|
/* set FreeDOS returned version for int 21.30 from BX */
|
||||||
case 0xfc:
|
case 0xfc:
|
||||||
os_setver_major = irp->BL;
|
os_setver_major = irp->BL;
|
||||||
@ -2002,9 +2002,9 @@ VOID ASMCFUNC int2F_12_handler(struct int2f12regs FAR *pr)
|
|||||||
r.BX = FP_OFF(&winStartupInfo);
|
r.BX = FP_OFF(&winStartupInfo);
|
||||||
winStartupInfo.winver = r.di; /* match what caller says it is */
|
winStartupInfo.winver = r.di; /* match what caller says it is */
|
||||||
#if defined __GNUC__
|
#if defined __GNUC__
|
||||||
winseg1 = FP_SEG(&winStartupInfo);
|
winseg1 = FP_SEG(&winStartupInfo);
|
||||||
winseg2 = FP_SEG(&DATASTART);
|
winseg2 = FP_SEG(&DATASTART);
|
||||||
winseg3 = FP_OFF(&markEndInstanceData);
|
winseg3 = FP_OFF(&markEndInstanceData);
|
||||||
#endif
|
#endif
|
||||||
winInstanced = 1; /* internal flag marking Windows is active */
|
winInstanced = 1; /* internal flag marking Windows is active */
|
||||||
DebugPrintf(("Win startup\n"));
|
DebugPrintf(("Win startup\n"));
|
||||||
@ -2569,7 +2569,7 @@ VOID ASMCFUNC int2F_12_handler(struct int2f12regs FAR *pr)
|
|||||||
os_setver_major = r.DL;
|
os_setver_major = r.DL;
|
||||||
os_setver_minor = r.DH;
|
os_setver_minor = r.DH;
|
||||||
}
|
}
|
||||||
else /* set returned version from emulated true DOS version */
|
else /* set returned version from emulated true DOS version */
|
||||||
{
|
{
|
||||||
os_setver_major = os_major;
|
os_setver_major = os_major;
|
||||||
os_setver_minor = os_minor;
|
os_setver_minor = os_minor;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user