added a flag to shared_info indicating one-time BIOS checking has been done, added struct typedef that can hold the BIOS info needed. More will probably come, like slaved-CRTC info (TVout use concurrent with panels).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16075 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Rudolf Cornelissen 2006-01-24 20:38:55 +00:00
parent 17ca256d6f
commit fa9f20e97e

View File

@ -28,6 +28,14 @@
extern "C" {
#endif
/* this structure describes all info we gather from the BIOS that we can't gather otherwise. In the
* end it should disappear, which would mean we are BIOS pre-init independant or fully coldstart capable. */
typedef struct {
bool done; /* for discovering one-time VGA BIOS pre-init programming: */
uint32 p1_timing_flags; /* panel 1 modeline timing flags */
uint32 p2_timing_flags; /* panel 2 modeline timing flags */
} bios_init;
typedef struct {
sem_id sem;
int32 ben;
@ -71,7 +79,8 @@ enum {
NV_GET_NTH_AGP_INFO,
NV_ENABLE_AGP,
NV_ISA_OUT,
NV_ISA_IN
NV_ISA_IN,
NV_SET_BIOS_PRE_INIT
};
/* handles to pre-defined engine commands */
@ -139,6 +148,9 @@ typedef struct {
/* used to return status for INIT_ACCELERANT and CLONE_ACCELERANT */
bool accelerant_in_use;
/* used to detect the first time we startup (preventing loosing BIOS pre-init info) */
bool system_start_done;
/* bug workaround for 4.5.0 */
uint32 use_clone_bugfix; /*for 4.5.0, cloning of physical memory does not work*/
uint32 * clone_bugfix_regs;
@ -420,6 +432,12 @@ typedef struct {
uint16 data; /* The value read or written */
} nv_in_out_isa;
/* Save BIOS pre-init programming we might need */
typedef struct {
uint32 magic; /* magic number to make sure the caller groks us */
bios_init data; /* contains all BIOS pre-init data we rely on */
} nv_set_bios_pre_init;
enum {
_WAIT_FOR_VBLANK = (1 << 0)