IRC channel logs

2020-04-27.log

back to list of logs

***Server sets mode: +nt
<damo22>youpi: i dont want to compromise the multiserver design of gnumach+hurd by pushing for an integrated acpica. However, if very few people are even interested in running hurd on real machines, I would stop working on the project entirely if the goal is just to show a multiserver working design.
<youpi>damo22: I'm not saying we don't want to run on real machine
<youpi>I'm just saying it'd better to avoid putting a whole interpreter in the kernel if we can avoid it
<damo22>yea i agree
<youpi>but if the ACPI design makes it mandatory, then we don't have the option
<damo22>i spoke with braunr, he gave me some opinions
<damo22>i respect most of his ideas
<damo22>not all
<damo22>he says we can have acpi support in mach without acpica
<damo22>to get the interrupts going
<damo22>actually he said interrupts are not related to getting the lapic timer
<damo22>working
<damo22>i think we can have ACPICA in userspace
<damo22>and a minimal parser for APIC/MADT table in mach
<damo22>my only concern with doing it this way is that DSDT needs to "execute" some initial acpi code to complete the initialisation of the board
<damo22>i hope this can be done after bootup
<damo22>DSDT requires full AML parser to decode
<youpi>initialisation of the board? wouldn't that be up to the BIOS to do this kind of thing?
<youpi>or is the OS really involved in some of this.
<youpi>?
<damo22>no, ACPI standard provides way for OEMs to put some of firmware tweaks into os
<damo22>so os does not need to write drivers
<damo22>its built into the ACPI table
<damo22>eg, lid switches and stuff are triggered through ACPI
<damo22>and there might be some "_INI" methods that need to execute upon bootup
<damo22>currently linux kernel does this with APCICA
<damo22>ACPICA* by calling its initialisation methods
<damo22>so the linux kernel handles some ACPI "hardware" with acpi drivers that are platform independent once the code is written it works for all boards
<damo22>ACPI provides a kind of firmware interface for some devices
<damo22>and its reprogrammable
<damo22>eg you can reroute gpio pins using a patched DSDT
<damo22>etc
<damo22>stuff like that
<damo22>i think its possible to put it into userspace extending the acpi translator
<damo22>acpica provides an "OS layer" that is a bunch of stubs you have to implement to make the internals work with your OS
<damo22>i wrote them for gnumach, but i can probably rewrite them to be assuming to run in userspace
<damo22>if it works, it would be a lot cleaner probably
<damo22>but not sure when in the boot process when to "turn on" ACPI mode
<damo22>currently i did it in shutdown, it seems to be fine
<damo22>it does something with SCI interrupt, i need to read up on that
***rekado_ is now known as rekado
***Viper is now known as GNU[BDC]