1)
...rom/exec/./exec_util.c:195:9: warning: passing argument 1 of '__inline_Exec_AddHead' from incompatible pointer type [-Wincompatible-pointer-types]
AddHead(&parentEtask->et_Children, et);
^~~~~~~
...gen/rom/exec/exec/include/inline/exec.h:505:20: note: expected 'struct List *' but argument is of type 'struct MinList *'
2)
...rom/exec/./exec_util.c:195:9: warning: passing argument 2 of '__inline_Exec_AddHead' from incompatible pointer type [-Wincompatible-pointer-types]
AddHead(&parentEtask->et_Children, et);
^~~~~~~
...rom/exec/exec/include/inline/exec.h:505:20: note: expected 'struct Node *' but argument is of type 'struct ETask *'
Previously the condition was for libraries that have relative linker libs,
but linker libs are not influencing libraries themselves, so the condition
was weird and there was no explanation why such functionality was
introduced.
Using __aros_getbase_PeropenerBase and proto/peropener.h. This test purpose
is to test that functionality changed in previous commit continues
working.
Prior to this change, __aros_getbase_XXXX was used and was re-defined in
proto/xxxx.h to either library base of relative offset. However
__aros_getbase_XXXX was an actual function often used inside of library.
The effect was that if proto/xxxx.h was included in the library xxxx
itself, the __aros_getbase_XXXX was redefined, for example in per opener
library instead of reading R12 (x86_64 ABI) it was reading (local)
library base, causing struct Library *ABase = __aros__getbase_ABase() to
become struct Library *ABase = ABase and a "silent" NO-OP
This change changes the symbol used in library call to __LIB_LIBBASE and
__aros_getbase_XXXX is no longer re-defined in proto/xxxx.h
Additionally for cases there inline/xxxx.h or defines/xxxx.h is included
instead of proto/xxxx.h, __LIB_LIBBASE is defined to __aros_getbase_XXXX
so that proper implementation from linklib is pulled in. Same goes for
stub functions in "noincludes" case.
Note: this commit does not change client-side behavior as documented in
ABI_SPECIFICATION. It only changes the name of the symbol used.
Note: currently there are no third party linker libraries available that
could stop linking due to name changes, thus this and previous changes
are considered backwards compatible. In case some problems surface,
an .alias can be added with the old name.
There is already a number of boards that need to have ACPI disabled to
boot correctly. Adding it to safe mode to hopefully allow booting on
other such motherboards during problem triage.
mh_First needs to be set as early as possible so that mhe_InitPool can
possibly cache this information (as is the case for TLSF). mh_First however
cannot have MEMF_SEM_PROTECTED as the semaphore is not yet crated and this
will lead to crashes when calling ObtainSemaphore (for example during
mhe_InitPool)
Set MEMF_SEM_PROTECTED only once semaphore is initialized.
For non-ManagedMem nothing changes as pool.Requirements is used to
check for MEMF_SEM_PROTECTED
This solves the problem when MEMF_31BIT pool started returning 64-bit
memory after it has grown.
This allow for using identical algorithm as ata.device. Number of cylinders
needs to be 32-bit as often division by 2 and 3 yields no results and
heads stay at 1 while cylinders is a number larger than 2^16.