Files
fail/bochs/plex86/kernel/include/paging.h
hsc b70b6fb43a another directory rename: failstar -> fail
"failstar" sounds like a name for a cruise liner from the 80s.  As "*" isn't a
desirable part of directory names, just name the whole thing "fail/", the core
parts being stored in "fail/core/".

Additionally fixing two build system dependency issues:
 - missing jobserver -> protomessages dependency
 - broken bochs -> fail dependency (add_custom_target DEPENDS only allows plain
   file dependencies ... cmake for the win)


git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@956 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
2012-03-08 19:43:02 +00:00

52 lines
1.4 KiB
C

/*
* plex86: run multiple x86 operating systems concurrently
* Copyright (C) 1999-2003 Kevin P. Lawton
*
* paging.h: defines for x86 paging structures
*
* 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 __PAGING_H__
#define __PAGING_H__
#define PG_D 0x00000040
#define PG_A 0x00000020
/* Page Directory/Table format */
typedef union {
Bit32u raw;
struct {
Bit32u P:1;
Bit32u RW:1;
Bit32u US:1;
Bit32u PWT:1;
Bit32u PCD:1;
Bit32u A:1;
Bit32u D:1;
Bit32u PS:1;
Bit32u G:1;
Bit32u avail:3;
Bit32u base:20;
} __attribute__ ((packed)) fields;
} __attribute__ ((packed)) pageEntry_t;
typedef union {
Bit8u bytes[4096];
pageEntry_t pte[1024];
} page_t;
#endif /* __PAGING_H__ */