mirror of
https://gitlab.com/sortix/sortix.git
synced 2023-02-13 20:55:38 -05:00
Switch bga(4) to the new PCI API.
This commit is contained in:
parent
aefec2f7cd
commit
a8c05711aa
1 changed files with 17 additions and 16 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2012, 2014, 2016, 2017 Jonas 'Sortie' Termansen.
|
* Copyright (c) 2012, 2014, 2016, 2017, 2022 Jonas 'Sortie' Termansen.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and distribute this software for any
|
* Permission to use, copy, modify, and distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
@ -238,6 +238,7 @@ bool BGADevice::Initialize()
|
||||||
Video::ConfigureDevice(this);
|
Video::ConfigureDevice(this);
|
||||||
|
|
||||||
#if defined(__i386__) || defined(__x86_64__)
|
#if defined(__i386__) || defined(__x86_64__)
|
||||||
|
|
||||||
if ( guest_additions )
|
if ( guest_additions )
|
||||||
guest_additions->ReadyVideoDevice(device_index);
|
guest_additions->ReadyVideoDevice(device_index);
|
||||||
#endif
|
#endif
|
||||||
|
@ -609,24 +610,24 @@ static void TryInitializeDevice(uint32_t devaddr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool OnDevice(uint32_t devaddr, const pciid_t*, const pcitype_t*, void*,
|
||||||
|
void*)
|
||||||
|
{
|
||||||
|
TryInitializeDevice(devaddr);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void Init()
|
void Init()
|
||||||
{
|
{
|
||||||
pcifind_t bga_pcifind;
|
pcifind_t patterns[2];
|
||||||
memset(&bga_pcifind, 255, sizeof(bga_pcifind));
|
memset(&patterns[0], 255, sizeof(patterns[0]));
|
||||||
bga_pcifind.vendorid = 0x1234;
|
patterns[0].vendorid = 0x1234;
|
||||||
bga_pcifind.deviceid = 0x1111;
|
patterns[0].deviceid = 0x1111;
|
||||||
|
memset(&patterns[1], 255, sizeof(patterns[1]));
|
||||||
|
patterns[1].vendorid = 0x80EE;
|
||||||
|
patterns[1].deviceid = 0xBEEF;
|
||||||
|
|
||||||
uint32_t devaddr = 0;
|
PCI::Search(OnDevice, NULL, patterns, 2);
|
||||||
while ( (devaddr = PCI::SearchForDevices(bga_pcifind, devaddr)) )
|
|
||||||
TryInitializeDevice(devaddr);
|
|
||||||
|
|
||||||
memset(&bga_pcifind, 255, sizeof(bga_pcifind));
|
|
||||||
bga_pcifind.vendorid = 0x80EE;
|
|
||||||
bga_pcifind.deviceid = 0xBEEF;
|
|
||||||
|
|
||||||
devaddr = 0;
|
|
||||||
while ( (devaddr = PCI::SearchForDevices(bga_pcifind, devaddr)) )
|
|
||||||
TryInitializeDevice(devaddr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace BGA
|
} // namespace BGA
|
||||||
|
|
Loading…
Add table
Reference in a new issue