A question about FADT BootArchitectureFlags
- makerimages
- Member
- Posts: 27
- Joined: Sun Dec 28, 2014 11:16 am
- Libera.chat IRC: Makerimages
- Location: Estonia
A question about FADT BootArchitectureFlags
Hi,
So I just detected that my OS only initializes the ps/2 keyboard correctly on QEMU. On Virtualbox, the BootArchitectureFlags bit is not set, and on BOCHS, Device 2 reset fails. I figured on this topic for a bit, and had someone in the IRC suggest that the BootArchitectureFlags is negative, eg. bit set = device not present. Is this true? And why is the bit not set in VBox? My Ps/2 init code: https://github.com/makerimages/SwormOS/ ... s/ps2.c#L6
So I just detected that my OS only initializes the ps/2 keyboard correctly on QEMU. On Virtualbox, the BootArchitectureFlags bit is not set, and on BOCHS, Device 2 reset fails. I figured on this topic for a bit, and had someone in the IRC suggest that the BootArchitectureFlags is negative, eg. bit set = device not present. Is this true? And why is the bit not set in VBox? My Ps/2 init code: https://github.com/makerimages/SwormOS/ ... s/ps2.c#L6
Working on SinusOS.
Re: A question about FADT BootArchitectureFlags
Now I know that the PS/2 controller is present in VirtualBox unless you change the mouse input to Usb Tablet, then I'm pretty sure it's not present and you don't have a problem.makerimages wrote:Hi,
So I just detected that my OS only initializes the ps/2 keyboard correctly on QEMU. On Virtualbox, the BootArchitectureFlags bit is not set, and on BOCHS, Device 2 reset fails. I figured on this topic for a bit, and had someone in the IRC suggest that the BootArchitectureFlags is negative, eg. bit set = device not present. Is this true? And why is the bit not set in VBox? My Ps/2 init code: https://github.com/makerimages/SwormOS/ ... s/ps2.c#L6
My code seems to run just fine on all emulators, you can see it here:
Code: Select all
https://github.com/Fadekraft/MollenOS/blob/master/modules/x86/Ps2/Ps2.c
-
- Member
- Posts: 5588
- Joined: Mon Mar 25, 2013 7:01 pm
Re: A question about FADT BootArchitectureFlags
The boot architecture flags are not present in all versions of the FADT. You must check the version of the FADT before attempting to parse its contents.
Re: A question about FADT BootArchitectureFlags
I use ACPICA, it's 0 if not present.Octocontrabass wrote:The boot architecture flags are not present in all versions of the FADT. You must check the version of the FADT before attempting to parse its contents.
- makerimages
- Member
- Posts: 27
- Joined: Sun Dec 28, 2014 11:16 am
- Libera.chat IRC: Makerimages
- Location: Estonia
Re: A question about FADT BootArchitectureFlags
Line #9 in the file I linked in the OP. I do that, and that check passes. The error I get is the "Unable to find a PS/2 controller. Possible failure of features." On line #15.Octocontrabass wrote:The boot architecture flags are not present in all versions of the FADT. You must check the version of the FADT before attempting to parse its contents.
Working on SinusOS.
Re: A question about FADT BootArchitectureFlags
You can assume the 8042 is present if the FADT is too old to specify the BAF. The system has to specify it is NOT present in order for it not to be present, if it doesn't specify it's not specifically present you should assume it's present.makerimages wrote:Line #9 in the file I linked in the OP. I do that, and that check passes. The error I get is the "Unable to find a PS/2 controller. Possible failure of features." On line #15.Octocontrabass wrote:The boot architecture flags are not present in all versions of the FADT. You must check the version of the FADT before attempting to parse its contents.
Remember to check for errors during the initializing in case it's not present.
- makerimages
- Member
- Posts: 27
- Joined: Sun Dec 28, 2014 11:16 am
- Libera.chat IRC: Makerimages
- Location: Estonia
Re: A question about FADT BootArchitectureFlags
What revision is too old? Is my check for > 1 the thing that's wrong?MollenOS wrote:You can assume the 8042 is present if the FADT is too old to specify the BAF. The system has to specify it is NOT present in order for it not to be present, if it doesn't specify it's not specifically present you should assume it's present.makerimages wrote:Line #9 in the file I linked in the OP. I do that, and that check passes. The error I get is the "Unable to find a PS/2 controller. Possible failure of features." On line #15.Octocontrabass wrote:The boot architecture flags are not present in all versions of the FADT. You must check the version of the FADT before attempting to parse its contents.
Remember to check for errors during the initializing in case it's not present.
Working on SinusOS.
Re: A question about FADT BootArchitectureFlags
Yes, if I were you i'd assume the PS/2 is present if the revision is below the required revision for the BAF to be present.makerimages wrote: What revision is too old? Is my check for > 1 the thing that's wrong?
- makerimages
- Member
- Posts: 27
- Joined: Sun Dec 28, 2014 11:16 am
- Libera.chat IRC: Makerimages
- Location: Estonia
Re: A question about FADT BootArchitectureFlags
But... I do if the revision is not >1MollenOS wrote:Yes, if I were you i'd assume the PS/2 is present if the revision is below the required revision for the BAF to be present.makerimages wrote: What revision is too old? Is my check for > 1 the thing that's wrong?
Working on SinusOS.