Our FreeBSD networking code defined hz to 1MHz and 1 tick = 1 / hz,
but the clock code ticked 1 tick at 1000Hz.
This caused all calculations that are done on ticks, autonegotiation
and wlan scanning to be done very often as FreeBSD uses 1000 Hz
(100Hz for ARM). Defaults for autonegotiation is 5 and 17 ticks.
(Another interesting thing is that callouts are using 8% cpu...)
This is an update from 20110922 and A LOT has happened since then. See
https://acpica.org/download/changes.txt for all the changes.
One of the more interesting is some problems with shutdown in ACPICAhas been fixed.
There may still be problems on our side though.
This matches layout in ACPICA and keeps a cleaner boundry between
Haiku and ACPICA code. The only haiku specific file in ACPICA is
achaiku.h and it will hopefully be included upstream soon.
Merging will be simpler as we can just replace acpica contents and
fix Jamfile and build errors in our code.
Mostly done because olta want less dependency on glibc.
It should also make porting a tiny bit simpler.
Testresults, mean values on Haiku from libMicro:
* with glibc: strlen_10: 0.03859S, strlen_1k: 1.67075S.
* with strlen.cpp: strlen_10: 0.03854S, strlen_1k: 1.66938S.
So at least on my machine it's possible to beat glibc ;)
* Fixed a problem where the maximum sleep time for the Sleep() operator was
intended to be limited to two seconds, but was inadvertently limited to 20
seconds instead.
Doesn't seem to do much difference in Haiku though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43172 a95241bf-73f2-0310-859d-f6bbb57e9c96
The flags given to configure are kept and the build just adds its own flags onto these.
Also the kernel flags are also based on the flags given at configure.
I suspect this will be needed for llvm.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43169 a95241bf-73f2-0310-859d-f6bbb57e9c96
A bit out of my comfortzone with, so please tell me if I'm wrong.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42949 a95241bf-73f2-0310-859d-f6bbb57e9c96
See http://www.acpica.org/download/changes.txt done after 2010-10-13 for info on ACPI changes.
* Adapted the embedded controller to match current FreeBSD one.
There will probably be some issues with these changes initially.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42637 a95241bf-73f2-0310-859d-f6bbb57e9c96
* ACPI module now has a get_possible_resources function.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41320 a95241bf-73f2-0310-859d-f6bbb57e9c96
(I modified BeMenu.h to have consistent style for pointer variables.)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40817 a95241bf-73f2-0310-859d-f6bbb57e9c96
This will force me to practice our code style.
(As a sidenote, we are aware of the no of patches in the bug).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40744 a95241bf-73f2-0310-859d-f6bbb57e9c96
"Show Application Expander" and "Expand New Applications" in the Deskbar preferences only work in Expando mode, however, this is not communicated to the user. This ticket contains a patch which disables these options in the preference window when not in expando mode and re-enables them in expando mode.
This fixes ticket #7177.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40326 a95241bf-73f2-0310-859d-f6bbb57e9c96
Postfix/prefix increment evaluation order is not changed by parantheses. Use '+ 1' for readability instead. CID 2982.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39966 a95241bf-73f2-0310-859d-f6bbb57e9c96
Afaict it looks like it results in unbalanced Acquire calls on the parent. CID 10393.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39964 a95241bf-73f2-0310-859d-f6bbb57e9c96
A bit confused about the signedness handling in ring_buffer internals though, int32 to size_t.
Unnested the acpi_namespace_read function a bit and removed dead check for negative lengths from read. CID 4093.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39963 a95241bf-73f2-0310-859d-f6bbb57e9c96
Embedded Controller still needs some looking into, and I had to remove the WIP code for dumping MADT.
Both are on my TODO.
Also removed a lot of unneeded parts of ACPICA from trunk and did some cleanup in Jamfile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39565 a95241bf-73f2-0310-859d-f6bbb57e9c96
It needs a bit polish in code but wanted to commit before leaving BG.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39124 a95241bf-73f2-0310-859d-f6bbb57e9c96
(This is just until we do proper irq-handling)
On my machines it works either way so I'd like to get feedback on this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38695 a95241bf-73f2-0310-859d-f6bbb57e9c96
The changes looks reasonable, although I don't have VMWare to test with.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38602 a95241bf-73f2-0310-859d-f6bbb57e9c96
This might help with ACPI shutdown issues, if not this change can be reverted. Not verified as it works on all my machines even without this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38585 a95241bf-73f2-0310-859d-f6bbb57e9c96
There are TODO's in here, because the ACPI module needs restructuring and which I will take care of.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38289 a95241bf-73f2-0310-859d-f6bbb57e9c96
See http://clang.llvm.org/compatibility.html#c++ why it is needed. Note that HashMap.h Key and Value are typenames as well.
Afaict this is correctly done, builds and runs on gcc4. This fixes#5892.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37550 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed one instance where ACPI and BeOS status codes was not handled right.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36897 a95241bf-73f2-0310-859d-f6bbb57e9c96
* It confused ms and usecs for ec_timeout
* It tried to handle waiting like on platforms that can't do better timing than ms. Haiku can do much better, which simplifies the code a lot.
This should fix#4623 and #5825. At least on my laptop BatteryStatus never shows weirdness or reports errors in syslog.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36511 a95241bf-73f2-0310-859d-f6bbb57e9c96
While there has been no reports of fan or temperature problems that we know of,
there are rumours that this might happen.
It's a good idea to check that fans and temperature works as normal
just to be safe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36474 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Removed irq_routing struct from ACPI.h to where it is used. Might be able to use acrestype.h instead of duplication.
* Disable old embedded controller and remove it from image.
* Move embedded controller code to busmanager module.
* Remove (some) code duplication
Should work as before, but is now initialized right after the bus manager. Can probably remove further code duplication.
I hope I've done it correctly, feedback is most welcome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36420 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Exposed ACPI API needed by Embedded Controller
This will be removed again if moved inside the bus manager.
It also duplicates ACPI's own headers so it might go out of sync atm.
* Added mutex to controller and fixed the mixup between acpi_status needed in int handlers and Haiku status.
* Major code cleanup
Not for headers as they are mostly redundant if we move the controller.
Variable names still needs some cleanup
This makes the ACPI errors from the controller understandable. I get AE_NO_HARDWARE_RESPONSE now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36318 a95241bf-73f2-0310-859d-f6bbb57e9c96
The code is in a part of the ACPI code we import, so using its code style and is based on similar code a
few lines above.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35592 a95241bf-73f2-0310-859d-f6bbb57e9c96