STATUS: 50%

0000 T _mkseg		not compatible
    015c T _sgstat		compatible
This commit is contained in:
Oliver Lehmann 2008-05-26 19:42:49 +00:00
parent 8127d47985
commit 0ad6e85430
1 changed files with 28 additions and 17 deletions

View File

@ -1,3 +1,20 @@
/******************************************************************************
*******************************************************************************
W E G A - Quelle (C) ZFT/KEAW Abt. Basissoftware - 1988
KERN 3.2 Modul: mkseg.c
Bearbeiter:
Datum: $D$
Version: $R$
*******************************************************************************
******************************************************************************/
char mksegwstr[]="@[$]mkseg.c Rev : 4.1 08/27/83 11:56:13";
#include <sys/param.h>
#include <sys/sysparm.h>
#include <sys/sysinfo.h>
@ -11,8 +28,6 @@
#include <sys/user.h>
#include <sys/map.h>
char mksegwstr[]="@@[$]mkseg.c@i@iRev : 4.1@i08/27/83 11:56:13";
mkseg()
{
register unsigned segno;
@ -77,23 +92,19 @@ sgstat()
saddr = (paddr_t *)u.u_ap;
j = 0;
if (u.u_sep)
for (i=0; ; ){
if (i< u.u_nsegs){
if (u.u_segno[i] & 0x80){
hibyte(segstat[j].segno) = u.u_segno[i] & 0x7f;
if (u.u_segmts[i].sg_limit == 0xff)
segstat[j].limit = 0xfffe;
else
segstat[j].limit = ((unsigned int)(u.u_segmts[i].sg_limit)+1)<<8;
}
if (u.u_sep) {
for (i=0; i< u.u_nsegs; i++){
if (u.u_segno[i] & 0x80){
hibyte(segstat[j].segno) = u.u_segno[i] & 0x7f;
if (u.u_segmts[i].sg_limit == 0xff)
segstat[j].limit = 0xfffe;
else
segstat[j].limit = ((unsigned int)(u.u_segmts[i].sg_limit)+1)<<8;
if (j++ == NSEGS)
break;
}
if (j++ != NSEGS)
i++;
else
break;
}
else {
} else {
hibyte(segstat[0].segno) = u.u_tseg;
segstat[0].limit = u.u_toff<<8;
j++;