It would be nice if there were a source to source transformation tool out there but failing that RPN to infix is pretty simple to automate.
ron On Tue, Sep 20, 2016 at 12:03 PM Duncan Laurie <dlau...@chromium.org> wrote: > So far I've been asking people in ACPI patches to not introduce ASL 2.0 > syntax into existing ASL code as it can be confusing if the two are mixed. > So we should either convert everything or at least only use ASL 2.0 syntax > in new files. > > The problem with auto-converting sources with the disassembly/assembly > trick is you lose all the comments. > > The problem with doing it by hand is it very easy to mess something up. > > -duncan > > > On Tue, Sep 20, 2016 at 11:39 AM, Marc Jones <marcj...@gmail.com> wrote: > >> Hi Rudolf, >> >> I'm for this change. I don't think it would be too invasive and should be >> easy to test with the compiler. >> >> Marc >> >> >> On Mon, Sep 19, 2016 at 2:49 PM Rudolf Marek <r.ma...@assembler.cz> >> wrote: >> >>> Hi all, >>> >>> Just FYI [1], maybe you already know. >>> >>> There is an alternate syntax available for ACPI ASL sources. >>> It just converts Polish notation of ASL to something less geeky like C >>> operators. It says that the tool to convert the sources is in >>> development (to >>> ratain comments). I think it would make ACPI more readable if coreboot >>> would >>> switch to ASL 2.0. Note that the change is only on syntax side! Latest >>> ACPICA >>> iasl already decompiles to this syntax by default! >>> >>> Example before: >>> >>> Method (SRDY, 0, Serialized) >>> { >>> Store (200, Local0) // Timeout 200ms >>> While (Local0) { >>> If (And(HSTS, 0x40)) { // IN_USE? >>> Sleep(1) // Wait 1ms >>> Decrement(Local0) // timeout-- >>> If (LEqual(Local0, 0)) { >>> Return (1) >>> } >>> } Else { >>> Store (0, Local0) // We're ready >>> } >>> } >>> >>> Store (4000, Local0) // Timeout 200ms (50us * 4000) >>> While (Local0) { >>> If (And (HSTS, 0x01)) { // Host Busy? >>> Stall(50) // Wait 50us >>> Decrement(Local0) // timeout-- >>> If (LEqual(Local0, 0)) { >>> KILL() >>> } >>> } Else { >>> Return (0) // Success >>> } >>> } >>> >>> Return (1) // Failure >>> } >>> >>> >>> After: >>> >>> Method (SRDY, 0, Serialized) >>> { >>> Local0 = 0xC8 >>> While (Local0) >>> { >>> If (HSTS & 0x40) >>> { >>> Sleep (0x01) >>> Local0-- >>> If (Local0 == 0x00) >>> { >>> Return (0x01) >>> } >>> } >>> Else >>> { >>> Local0 = 0x00 >>> } >>> } >>> >>> Local0 = 0x0FA0 >>> While (Local0) >>> { >>> If (HSTS & 0x01) >>> { >>> Stall (0x32) >>> Local0-- >>> If (Local0 == 0x00) >>> { >>> KILL () >>> } >>> } >>> Else >>> { >>> Return (0x00) >>> } >>> } >>> >>> Return (0x01) >>> } >>> >>> >>> Thanks >>> Rudolf >>> >>> >>> [1] https://acpica.org/sites/acpica/files/ASL2.0Overview.pdf >>> >>> >>> -- >>> coreboot mailing list: coreboot@coreboot.org >>> https://www.coreboot.org/mailman/listinfo/coreboot >>> >> -- >> http://marcjonesconsulting.com >> >> -- >> coreboot mailing list: coreboot@coreboot.org >> https://www.coreboot.org/mailman/listinfo/coreboot >> > > -- > coreboot mailing list: coreboot@coreboot.org > https://www.coreboot.org/mailman/listinfo/coreboot
-- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot