Fail* directories reorganized, Code-cleanup (-> coding-style), Typos+comments fixed.
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1321 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
78
simulators/bochs/plex86/kernel/include/eflags.h
Normal file
78
simulators/bochs/plex86/kernel/include/eflags.h
Normal file
@ -0,0 +1,78 @@
|
||||
/*
|
||||
* plex86: run multiple x86 operating systems concurrently
|
||||
* Copyright (C) 1999-2003 Kevin P. Lawton
|
||||
*
|
||||
* eflags.h: Bitfields of EFLAGS registers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __EFLAGS_H__
|
||||
#define __EFLAGS_H__
|
||||
|
||||
/*
|
||||
* the eflags field looks like this:
|
||||
* bit: 0 1 2 3 4 5 6 7 8 9 A B C/D E F 10 11 12 13 14 15 16
|
||||
* flg: CF 1 PF 0 AF 0 ZF SF TF IF DF OF IOPL NT 0 RF VM AC VIF VIP ID 0
|
||||
*/
|
||||
|
||||
#define FLG_CF (1<<0)
|
||||
#define FLG_PF (1<<2)
|
||||
#define FLG_AF (1<<4)
|
||||
#define FLG_ZF (1<<6)
|
||||
#define FLG_SF (1<<7)
|
||||
#define FLG_TF (1<<8)
|
||||
#define FLG_IF (1<<9)
|
||||
#define FLG_DF (1<<10)
|
||||
#define FLG_OF (1<<11)
|
||||
#define FLG_IOPL (3<<12)
|
||||
#define FLG_NT (1<<14)
|
||||
#define FLG_RF (1<<16)
|
||||
#define FLG_VM (1<<17)
|
||||
#define FLG_AC (1<<18)
|
||||
#define FLG_VIF (1<<19)
|
||||
#define FLG_VIP (1<<20)
|
||||
#define FLG_ID (1<<21)
|
||||
|
||||
|
||||
typedef union {
|
||||
struct {
|
||||
Bit8u cf:1;
|
||||
Bit8u R1:1;
|
||||
Bit8u pf:1;
|
||||
Bit8u R3:1;
|
||||
Bit8u af:1;
|
||||
Bit8u R5:1;
|
||||
Bit8u zf:1;
|
||||
Bit8u sf:1;
|
||||
Bit8u tf:1;
|
||||
Bit8u if_:1;
|
||||
Bit8u df:1;
|
||||
Bit8u of:1;
|
||||
Bit8u iopl:2;
|
||||
Bit8u nt:1;
|
||||
Bit8u R15:1;
|
||||
Bit8u rf:1;
|
||||
Bit8u vm:1;
|
||||
Bit8u ac:1;
|
||||
Bit8u vif:1;
|
||||
Bit8u vip:1;
|
||||
Bit8u id:1;
|
||||
Bit16u R31_22:10;
|
||||
} __attribute__ ((packed)) fields;
|
||||
Bit32u raw;
|
||||
} __attribute__ ((packed)) eflags_t;
|
||||
|
||||
#endif /* __EFLAGS_H__ */
|
||||
Reference in New Issue
Block a user