From e9bad6ecf584d0b9224dcba36f942e8429b8d358 Mon Sep 17 00:00:00 2001 From: Fredrik Holmqvist Date: Wed, 11 Jul 2012 16:55:44 +0200 Subject: [PATCH 01/18] Remove duplicate include. --- src/add-ons/kernel/bus_managers/acpi/include/platform/achaiku.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/add-ons/kernel/bus_managers/acpi/include/platform/achaiku.h b/src/add-ons/kernel/bus_managers/acpi/include/platform/achaiku.h index a761398517..9b07784421 100644 --- a/src/add-ons/kernel/bus_managers/acpi/include/platform/achaiku.h +++ b/src/add-ons/kernel/bus_managers/acpi/include/platform/achaiku.h @@ -155,8 +155,6 @@ struct mutex; #ifdef _KERNEL_MODE /* Host-dependent types and defines for in-kernel ACPICA */ -#include - /* ACPI's own impl is adequate. */ #define ACPI_USE_LOCAL_CACHE From 97f5a0bd35abf42a41961d9c3ca4e6d7bf51480e Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Wed, 11 Jul 2012 17:41:52 +0100 Subject: [PATCH 02/18] Fixed case-sensitive filesystem check. --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 39d894c3d1..05f1e06a03 100755 --- a/configure +++ b/configure @@ -475,7 +475,7 @@ done mkdir haikuCaseTest 2>/dev/null mkdir haikucasetest 2>/dev/null caseInsensitive=$? -rm -df haikuCaseTest haikucasetest +rmdir haikuCaseTest haikucasetest 2>/dev/null if [ $caseInsensitive != 0 ]; then echo "You need a case-sensitive file-system to build Haiku." if [ $HOST_PLATFORM = "darwin" ]; then From 0174267ad4e56f4eea5d108dfd6daf1be4037782 Mon Sep 17 00:00:00 2001 From: Fredrik Holmqvist Date: Wed, 11 Jul 2012 17:04:27 +0200 Subject: [PATCH 03/18] Move ACPICA files into acpica subdir and use acpica subdir layout. 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. --- src/add-ons/kernel/bus_managers/acpi/Jamfile | 24 +++++++++---------- .../acpi/{ => acpica}/common/adfile.c | 0 .../acpi/{ => acpica}/common/adisasm.c | 0 .../acpi/{ => acpica}/common/adwalk.c | 0 .../acpi/{ => acpica}/common/dmextern.c | 0 .../acpi/{ => acpica}/common/dmrestag.c | 0 .../acpi/{ => acpica}/common/dmtable.c | 0 .../acpi/{ => acpica}/common/dmtbdump.c | 0 .../acpi/{ => acpica}/common/dmtbinfo.c | 0 .../acpi/{ => acpica}/common/getopt.c | 0 .../components}/dispatcher/dsargs.c | 0 .../components}/dispatcher/dscontrol.c | 0 .../components}/dispatcher/dsfield.c | 0 .../components}/dispatcher/dsinit.c | 0 .../components}/dispatcher/dsmethod.c | 0 .../components}/dispatcher/dsmthdat.c | 0 .../components}/dispatcher/dsobject.c | 0 .../components}/dispatcher/dsopcode.c | 0 .../components}/dispatcher/dsutils.c | 0 .../components}/dispatcher/dswexec.c | 0 .../components}/dispatcher/dswload.c | 0 .../components}/dispatcher/dswload2.c | 0 .../components}/dispatcher/dswscope.c | 0 .../components}/dispatcher/dswstate.c | 0 .../{ => acpica/components}/events/evevent.c | 0 .../{ => acpica/components}/events/evglock.c | 0 .../{ => acpica/components}/events/evgpe.c | 0 .../{ => acpica/components}/events/evgpeblk.c | 0 .../components}/events/evgpeinit.c | 0 .../components}/events/evgpeutil.c | 0 .../{ => acpica/components}/events/evmisc.c | 0 .../{ => acpica/components}/events/evregion.c | 0 .../{ => acpica/components}/events/evrgnini.c | 0 .../{ => acpica/components}/events/evsci.c | 0 .../{ => acpica/components}/events/evxface.c | 0 .../{ => acpica/components}/events/evxfevnt.c | 0 .../{ => acpica/components}/events/evxfgpe.c | 0 .../{ => acpica/components}/events/evxfregn.c | 0 .../components}/executer/exconfig.c | 0 .../components}/executer/exconvrt.c | 0 .../components}/executer/excreate.c | 0 .../components}/executer/exdebug.c | 0 .../{ => acpica/components}/executer/exdump.c | 0 .../components}/executer/exfield.c | 0 .../components}/executer/exfldio.c | 0 .../{ => acpica/components}/executer/exmisc.c | 0 .../components}/executer/exmutex.c | 0 .../components}/executer/exnames.c | 0 .../components}/executer/exoparg1.c | 0 .../components}/executer/exoparg2.c | 0 .../components}/executer/exoparg3.c | 0 .../components}/executer/exoparg6.c | 0 .../{ => acpica/components}/executer/exprep.c | 0 .../components}/executer/exregion.c | 0 .../components}/executer/exresnte.c | 0 .../components}/executer/exresolv.c | 0 .../components}/executer/exresop.c | 0 .../components}/executer/exstore.c | 0 .../components}/executer/exstoren.c | 0 .../components}/executer/exstorob.c | 0 .../components}/executer/exsystem.c | 0 .../components}/executer/exutils.c | 0 .../{ => acpica/components}/hardware/hwacpi.c | 0 .../{ => acpica/components}/hardware/hwgpe.c | 0 .../{ => acpica/components}/hardware/hwpci.c | 0 .../{ => acpica/components}/hardware/hwregs.c | 0 .../components}/hardware/hwsleep.c | 0 .../components}/hardware/hwtimer.c | 0 .../components}/hardware/hwvalid.c | 0 .../components}/hardware/hwxface.c | 0 .../components}/namespace/nsaccess.c | 0 .../components}/namespace/nsalloc.c | 0 .../components}/namespace/nsdump.c | 0 .../components}/namespace/nsdumpdv.c | 0 .../components}/namespace/nseval.c | 0 .../components}/namespace/nsinit.c | 0 .../components}/namespace/nsload.c | 0 .../components}/namespace/nsnames.c | 0 .../components}/namespace/nsobject.c | 0 .../components}/namespace/nsparse.c | 0 .../components}/namespace/nspredef.c | 0 .../components}/namespace/nsrepair.c | 0 .../components}/namespace/nsrepair2.c | 0 .../components}/namespace/nssearch.c | 0 .../components}/namespace/nsutils.c | 0 .../components}/namespace/nswalk.c | 0 .../components}/namespace/nsxfeval.c | 0 .../components}/namespace/nsxfname.c | 0 .../components}/namespace/nsxfobj.c | 0 .../{ => acpica/components}/parser/psargs.c | 0 .../{ => acpica/components}/parser/psloop.c | 0 .../{ => acpica/components}/parser/psopcode.c | 0 .../{ => acpica/components}/parser/psparse.c | 0 .../{ => acpica/components}/parser/psscope.c | 0 .../{ => acpica/components}/parser/pstree.c | 0 .../{ => acpica/components}/parser/psutils.c | 0 .../{ => acpica/components}/parser/pswalk.c | 0 .../{ => acpica/components}/parser/psxface.c | 0 .../components}/resources/rsaddr.c | 0 .../components}/resources/rscalc.c | 0 .../components}/resources/rscreate.c | 0 .../components}/resources/rsdump.c | 0 .../components}/resources/rsinfo.c | 0 .../{ => acpica/components}/resources/rsio.c | 0 .../{ => acpica/components}/resources/rsirq.c | 0 .../components}/resources/rslist.c | 0 .../components}/resources/rsmemory.c | 0 .../components}/resources/rsmisc.c | 0 .../components}/resources/rsutils.c | 0 .../components}/resources/rsxface.c | 0 .../{ => acpica/components}/tables/tbfadt.c | 0 .../{ => acpica/components}/tables/tbfind.c | 0 .../{ => acpica/components}/tables/tbinstal.c | 0 .../{ => acpica/components}/tables/tbutils.c | 0 .../{ => acpica/components}/tables/tbxface.c | 0 .../{ => acpica/components}/tables/tbxfroot.c | 0 .../components}/utilities/utalloc.c | 0 .../components}/utilities/utcache.c | 0 .../components}/utilities/utclib.c | 0 .../components}/utilities/utcopy.c | 0 .../components}/utilities/utdebug.c | 0 .../components}/utilities/utdecode.c | 0 .../components}/utilities/utdelete.c | 0 .../components}/utilities/uteval.c | 0 .../components}/utilities/utglobal.c | 0 .../{ => acpica/components}/utilities/utids.c | 0 .../components}/utilities/utinit.c | 0 .../components}/utilities/utlock.c | 0 .../components}/utilities/utmath.c | 0 .../components}/utilities/utmisc.c | 0 .../components}/utilities/utmutex.c | 0 .../components}/utilities/utobject.c | 0 .../{ => acpica/components}/utilities/utosi.c | 0 .../components}/utilities/utresrc.c | 0 .../components}/utilities/utstate.c | 0 .../components}/utilities/uttrack.c | 0 .../components}/utilities/utxface.c | 0 .../components}/utilities/utxferror.c | 0 .../acpi/{ => acpica}/include/acapps.h | 0 .../acpi/{ => acpica}/include/accommon.h | 0 .../acpi/{ => acpica}/include/acconfig.h | 0 .../acpi/{ => acpica}/include/acdebug.h | 0 .../acpi/{ => acpica}/include/acdisasm.h | 0 .../acpi/{ => acpica}/include/acdispat.h | 0 .../acpi/{ => acpica}/include/acevents.h | 0 .../acpi/{ => acpica}/include/acexcep.h | 0 .../acpi/{ => acpica}/include/acglobal.h | 0 .../acpi/{ => acpica}/include/achware.h | 0 .../acpi/{ => acpica}/include/acinterp.h | 0 .../acpi/{ => acpica}/include/aclocal.h | 0 .../acpi/{ => acpica}/include/acmacros.h | 0 .../acpi/{ => acpica}/include/acnames.h | 0 .../acpi/{ => acpica}/include/acnamesp.h | 0 .../acpi/{ => acpica}/include/acobject.h | 0 .../acpi/{ => acpica}/include/acopcode.h | 0 .../acpi/{ => acpica}/include/acoutput.h | 0 .../acpi/{ => acpica}/include/acparser.h | 0 .../acpi/{ => acpica}/include/acpi.h | 0 .../acpi/{ => acpica}/include/acpiosxf.h | 0 .../acpi/{ => acpica}/include/acpixf.h | 0 .../acpi/{ => acpica}/include/acpredef.h | 0 .../acpi/{ => acpica}/include/acresrc.h | 0 .../acpi/{ => acpica}/include/acrestyp.h | 0 .../acpi/{ => acpica}/include/acstruct.h | 0 .../acpi/{ => acpica}/include/actables.h | 0 .../acpi/{ => acpica}/include/actbl.h | 0 .../acpi/{ => acpica}/include/actbl1.h | 0 .../acpi/{ => acpica}/include/actbl2.h | 0 .../acpi/{ => acpica}/include/actypes.h | 0 .../acpi/{ => acpica}/include/acutils.h | 0 .../acpi/{ => acpica}/include/amlcode.h | 0 .../acpi/{ => acpica}/include/amlresrc.h | 0 .../{ => acpica}/include/platform/acefi.h | 0 .../{ => acpica}/include/platform/acenv.h | 0 .../{ => acpica}/include/platform/acgcc.h | 0 .../{ => acpica}/include/platform/achaiku.h | 0 .../{ => acpica}/include/platform/acintel.h | 0 .../{ => acpica}/include/platform/acmsvc.h | 0 src/system/kernel/arch/x86/Jamfile | 4 ++-- 179 files changed, 14 insertions(+), 14 deletions(-) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/common/adfile.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/common/adisasm.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/common/adwalk.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/common/dmextern.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/common/dmrestag.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/common/dmtable.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/common/dmtbdump.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/common/dmtbinfo.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/common/getopt.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/dispatcher/dsargs.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/dispatcher/dscontrol.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/dispatcher/dsfield.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/dispatcher/dsinit.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/dispatcher/dsmethod.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/dispatcher/dsmthdat.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/dispatcher/dsobject.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/dispatcher/dsopcode.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/dispatcher/dsutils.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/dispatcher/dswexec.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/dispatcher/dswload.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/dispatcher/dswload2.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/dispatcher/dswscope.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/dispatcher/dswstate.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/events/evevent.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/events/evglock.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/events/evgpe.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/events/evgpeblk.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/events/evgpeinit.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/events/evgpeutil.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/events/evmisc.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/events/evregion.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/events/evrgnini.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/events/evsci.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/events/evxface.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/events/evxfevnt.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/events/evxfgpe.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/events/evxfregn.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exconfig.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exconvrt.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/excreate.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exdebug.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exdump.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exfield.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exfldio.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exmisc.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exmutex.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exnames.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exoparg1.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exoparg2.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exoparg3.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exoparg6.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exprep.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exregion.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exresnte.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exresolv.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exresop.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exstore.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exstoren.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exstorob.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exsystem.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/executer/exutils.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/hardware/hwacpi.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/hardware/hwgpe.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/hardware/hwpci.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/hardware/hwregs.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/hardware/hwsleep.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/hardware/hwtimer.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/hardware/hwvalid.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/hardware/hwxface.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsaccess.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsalloc.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsdump.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsdumpdv.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nseval.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsinit.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsload.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsnames.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsobject.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsparse.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nspredef.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsrepair.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsrepair2.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nssearch.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsutils.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nswalk.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsxfeval.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsxfname.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/namespace/nsxfobj.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/parser/psargs.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/parser/psloop.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/parser/psopcode.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/parser/psparse.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/parser/psscope.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/parser/pstree.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/parser/psutils.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/parser/pswalk.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/parser/psxface.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/resources/rsaddr.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/resources/rscalc.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/resources/rscreate.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/resources/rsdump.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/resources/rsinfo.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/resources/rsio.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/resources/rsirq.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/resources/rslist.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/resources/rsmemory.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/resources/rsmisc.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/resources/rsutils.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/resources/rsxface.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/tables/tbfadt.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/tables/tbfind.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/tables/tbinstal.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/tables/tbutils.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/tables/tbxface.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/tables/tbxfroot.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utalloc.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utcache.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utclib.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utcopy.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utdebug.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utdecode.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utdelete.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/uteval.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utglobal.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utids.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utinit.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utlock.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utmath.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utmisc.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utmutex.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utobject.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utosi.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utresrc.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utstate.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/uttrack.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utxface.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica/components}/utilities/utxferror.c (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acapps.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/accommon.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acconfig.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acdebug.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acdisasm.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acdispat.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acevents.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acexcep.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acglobal.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/achware.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acinterp.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/aclocal.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acmacros.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acnames.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acnamesp.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acobject.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acopcode.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acoutput.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acparser.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acpi.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acpiosxf.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acpixf.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acpredef.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acresrc.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acrestyp.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acstruct.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/actables.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/actbl.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/actbl1.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/actbl2.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/actypes.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/acutils.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/amlcode.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/amlresrc.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/platform/acefi.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/platform/acenv.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/platform/acgcc.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/platform/achaiku.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/platform/acintel.h (100%) rename src/add-ons/kernel/bus_managers/acpi/{ => acpica}/include/platform/acmsvc.h (100%) diff --git a/src/add-ons/kernel/bus_managers/acpi/Jamfile b/src/add-ons/kernel/bus_managers/acpi/Jamfile index f1a82e530a..eec7fd91f0 100644 --- a/src/add-ons/kernel/bus_managers/acpi/Jamfile +++ b/src/add-ons/kernel/bus_managers/acpi/Jamfile @@ -1,8 +1,8 @@ SubDir HAIKU_TOP src add-ons kernel bus_managers acpi ; UsePrivateKernelHeaders ; -SubDirHdrs [ FDirName $(SUBDIR) include ] ; -SubDirHdrs [ FDirName $(SUBDIR) include platform ] ; +SubDirHdrs [ FDirName $(SUBDIR) acpica include ] ; +SubDirHdrs [ FDirName $(SUBDIR) acpica include platform ] ; SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) pci ] ; SubDirCcFlags -fno-pic -D_KERNEL_MODE ; @@ -181,16 +181,16 @@ StaticLibrary libacpi_ca.a : $(utilities_src) ; -SEARCH on [ FGristFiles $(common_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi common ] ; -SEARCH on [ FGristFiles $(dispatcher_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi dispatcher ] ; -SEARCH on [ FGristFiles $(events_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi events ] ; -SEARCH on [ FGristFiles $(executer_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi executer ] ; -SEARCH on [ FGristFiles $(hardware_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi hardware ] ; -SEARCH on [ FGristFiles $(namespace_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi namespace ] ; -SEARCH on [ FGristFiles $(parser_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi parser ] ; -SEARCH on [ FGristFiles $(resources_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi resources ] ; -SEARCH on [ FGristFiles $(tables_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi tables ] ; -SEARCH on [ FGristFiles $(utilities_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi utilities ] ; +SEARCH on [ FGristFiles $(common_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica common ] ; +SEARCH on [ FGristFiles $(dispatcher_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica components dispatcher ] ; +SEARCH on [ FGristFiles $(events_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica components events ] ; +SEARCH on [ FGristFiles $(executer_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica components executer ] ; +SEARCH on [ FGristFiles $(hardware_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica components hardware ] ; +SEARCH on [ FGristFiles $(namespace_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica components namespace ] ; +SEARCH on [ FGristFiles $(parser_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica components parser ] ; +SEARCH on [ FGristFiles $(resources_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica components resources ] ; +SEARCH on [ FGristFiles $(tables_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica components tables ] ; +SEARCH on [ FGristFiles $(utilities_src) ] = [ FDirName $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica components utilities ] ; KernelAddon acpi : oshaiku.cpp diff --git a/src/add-ons/kernel/bus_managers/acpi/common/adfile.c b/src/add-ons/kernel/bus_managers/acpi/acpica/common/adfile.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/common/adfile.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/common/adfile.c diff --git a/src/add-ons/kernel/bus_managers/acpi/common/adisasm.c b/src/add-ons/kernel/bus_managers/acpi/acpica/common/adisasm.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/common/adisasm.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/common/adisasm.c diff --git a/src/add-ons/kernel/bus_managers/acpi/common/adwalk.c b/src/add-ons/kernel/bus_managers/acpi/acpica/common/adwalk.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/common/adwalk.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/common/adwalk.c diff --git a/src/add-ons/kernel/bus_managers/acpi/common/dmextern.c b/src/add-ons/kernel/bus_managers/acpi/acpica/common/dmextern.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/common/dmextern.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/common/dmextern.c diff --git a/src/add-ons/kernel/bus_managers/acpi/common/dmrestag.c b/src/add-ons/kernel/bus_managers/acpi/acpica/common/dmrestag.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/common/dmrestag.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/common/dmrestag.c diff --git a/src/add-ons/kernel/bus_managers/acpi/common/dmtable.c b/src/add-ons/kernel/bus_managers/acpi/acpica/common/dmtable.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/common/dmtable.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/common/dmtable.c diff --git a/src/add-ons/kernel/bus_managers/acpi/common/dmtbdump.c b/src/add-ons/kernel/bus_managers/acpi/acpica/common/dmtbdump.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/common/dmtbdump.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/common/dmtbdump.c diff --git a/src/add-ons/kernel/bus_managers/acpi/common/dmtbinfo.c b/src/add-ons/kernel/bus_managers/acpi/acpica/common/dmtbinfo.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/common/dmtbinfo.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/common/dmtbinfo.c diff --git a/src/add-ons/kernel/bus_managers/acpi/common/getopt.c b/src/add-ons/kernel/bus_managers/acpi/acpica/common/getopt.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/common/getopt.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/common/getopt.c diff --git a/src/add-ons/kernel/bus_managers/acpi/dispatcher/dsargs.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsargs.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/dispatcher/dsargs.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsargs.c diff --git a/src/add-ons/kernel/bus_managers/acpi/dispatcher/dscontrol.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dscontrol.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/dispatcher/dscontrol.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dscontrol.c diff --git a/src/add-ons/kernel/bus_managers/acpi/dispatcher/dsfield.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsfield.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/dispatcher/dsfield.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsfield.c diff --git a/src/add-ons/kernel/bus_managers/acpi/dispatcher/dsinit.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsinit.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/dispatcher/dsinit.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsinit.c diff --git a/src/add-ons/kernel/bus_managers/acpi/dispatcher/dsmethod.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsmethod.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/dispatcher/dsmethod.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsmethod.c diff --git a/src/add-ons/kernel/bus_managers/acpi/dispatcher/dsmthdat.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsmthdat.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/dispatcher/dsmthdat.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsmthdat.c diff --git a/src/add-ons/kernel/bus_managers/acpi/dispatcher/dsobject.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsobject.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/dispatcher/dsobject.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsobject.c diff --git a/src/add-ons/kernel/bus_managers/acpi/dispatcher/dsopcode.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsopcode.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/dispatcher/dsopcode.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsopcode.c diff --git a/src/add-ons/kernel/bus_managers/acpi/dispatcher/dsutils.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsutils.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/dispatcher/dsutils.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dsutils.c diff --git a/src/add-ons/kernel/bus_managers/acpi/dispatcher/dswexec.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dswexec.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/dispatcher/dswexec.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dswexec.c diff --git a/src/add-ons/kernel/bus_managers/acpi/dispatcher/dswload.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dswload.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/dispatcher/dswload.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dswload.c diff --git a/src/add-ons/kernel/bus_managers/acpi/dispatcher/dswload2.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dswload2.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/dispatcher/dswload2.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dswload2.c diff --git a/src/add-ons/kernel/bus_managers/acpi/dispatcher/dswscope.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dswscope.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/dispatcher/dswscope.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dswscope.c diff --git a/src/add-ons/kernel/bus_managers/acpi/dispatcher/dswstate.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dswstate.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/dispatcher/dswstate.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/dispatcher/dswstate.c diff --git a/src/add-ons/kernel/bus_managers/acpi/events/evevent.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evevent.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/events/evevent.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evevent.c diff --git a/src/add-ons/kernel/bus_managers/acpi/events/evglock.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evglock.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/events/evglock.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evglock.c diff --git a/src/add-ons/kernel/bus_managers/acpi/events/evgpe.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evgpe.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/events/evgpe.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evgpe.c diff --git a/src/add-ons/kernel/bus_managers/acpi/events/evgpeblk.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evgpeblk.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/events/evgpeblk.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evgpeblk.c diff --git a/src/add-ons/kernel/bus_managers/acpi/events/evgpeinit.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evgpeinit.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/events/evgpeinit.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evgpeinit.c diff --git a/src/add-ons/kernel/bus_managers/acpi/events/evgpeutil.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evgpeutil.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/events/evgpeutil.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evgpeutil.c diff --git a/src/add-ons/kernel/bus_managers/acpi/events/evmisc.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evmisc.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/events/evmisc.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evmisc.c diff --git a/src/add-ons/kernel/bus_managers/acpi/events/evregion.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evregion.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/events/evregion.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evregion.c diff --git a/src/add-ons/kernel/bus_managers/acpi/events/evrgnini.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evrgnini.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/events/evrgnini.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evrgnini.c diff --git a/src/add-ons/kernel/bus_managers/acpi/events/evsci.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evsci.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/events/evsci.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evsci.c diff --git a/src/add-ons/kernel/bus_managers/acpi/events/evxface.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evxface.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/events/evxface.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evxface.c diff --git a/src/add-ons/kernel/bus_managers/acpi/events/evxfevnt.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evxfevnt.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/events/evxfevnt.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evxfevnt.c diff --git a/src/add-ons/kernel/bus_managers/acpi/events/evxfgpe.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evxfgpe.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/events/evxfgpe.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evxfgpe.c diff --git a/src/add-ons/kernel/bus_managers/acpi/events/evxfregn.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evxfregn.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/events/evxfregn.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/events/evxfregn.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exconfig.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exconfig.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exconfig.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exconfig.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exconvrt.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exconvrt.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exconvrt.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exconvrt.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/excreate.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/excreate.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/excreate.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/excreate.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exdebug.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exdebug.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exdebug.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exdebug.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exdump.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exdump.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exdump.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exdump.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exfield.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exfield.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exfield.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exfield.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exfldio.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exfldio.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exfldio.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exfldio.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exmisc.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exmisc.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exmisc.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exmisc.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exmutex.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exmutex.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exmutex.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exmutex.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exnames.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exnames.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exnames.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exnames.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exoparg1.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exoparg1.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exoparg1.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exoparg1.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exoparg2.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exoparg2.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exoparg2.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exoparg2.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exoparg3.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exoparg3.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exoparg3.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exoparg3.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exoparg6.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exoparg6.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exoparg6.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exoparg6.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exprep.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exprep.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exprep.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exprep.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exregion.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exregion.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exregion.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exregion.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exresnte.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exresnte.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exresnte.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exresnte.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exresolv.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exresolv.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exresolv.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exresolv.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exresop.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exresop.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exresop.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exresop.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exstore.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exstore.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exstore.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exstore.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exstoren.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exstoren.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exstoren.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exstoren.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exstorob.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exstorob.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exstorob.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exstorob.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exsystem.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exsystem.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exsystem.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exsystem.c diff --git a/src/add-ons/kernel/bus_managers/acpi/executer/exutils.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exutils.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/executer/exutils.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/executer/exutils.c diff --git a/src/add-ons/kernel/bus_managers/acpi/hardware/hwacpi.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwacpi.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/hardware/hwacpi.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwacpi.c diff --git a/src/add-ons/kernel/bus_managers/acpi/hardware/hwgpe.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwgpe.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/hardware/hwgpe.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwgpe.c diff --git a/src/add-ons/kernel/bus_managers/acpi/hardware/hwpci.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwpci.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/hardware/hwpci.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwpci.c diff --git a/src/add-ons/kernel/bus_managers/acpi/hardware/hwregs.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwregs.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/hardware/hwregs.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwregs.c diff --git a/src/add-ons/kernel/bus_managers/acpi/hardware/hwsleep.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwsleep.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/hardware/hwsleep.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwsleep.c diff --git a/src/add-ons/kernel/bus_managers/acpi/hardware/hwtimer.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwtimer.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/hardware/hwtimer.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwtimer.c diff --git a/src/add-ons/kernel/bus_managers/acpi/hardware/hwvalid.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwvalid.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/hardware/hwvalid.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwvalid.c diff --git a/src/add-ons/kernel/bus_managers/acpi/hardware/hwxface.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwxface.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/hardware/hwxface.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/hardware/hwxface.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsaccess.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsaccess.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsaccess.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsaccess.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsalloc.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsalloc.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsalloc.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsalloc.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsdump.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsdump.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsdump.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsdump.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsdumpdv.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsdumpdv.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsdumpdv.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsdumpdv.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nseval.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nseval.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nseval.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nseval.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsinit.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsinit.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsinit.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsinit.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsload.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsload.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsload.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsload.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsnames.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsnames.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsnames.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsnames.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsobject.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsobject.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsobject.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsobject.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsparse.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsparse.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsparse.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsparse.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nspredef.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nspredef.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nspredef.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nspredef.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsrepair.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsrepair.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsrepair.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsrepair.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsrepair2.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsrepair2.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsrepair2.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsrepair2.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nssearch.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nssearch.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nssearch.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nssearch.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsutils.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsutils.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsutils.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsutils.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nswalk.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nswalk.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nswalk.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nswalk.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsxfeval.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsxfeval.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsxfeval.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsxfeval.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsxfname.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsxfname.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsxfname.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsxfname.c diff --git a/src/add-ons/kernel/bus_managers/acpi/namespace/nsxfobj.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsxfobj.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/namespace/nsxfobj.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/namespace/nsxfobj.c diff --git a/src/add-ons/kernel/bus_managers/acpi/parser/psargs.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/psargs.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/parser/psargs.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/psargs.c diff --git a/src/add-ons/kernel/bus_managers/acpi/parser/psloop.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/psloop.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/parser/psloop.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/psloop.c diff --git a/src/add-ons/kernel/bus_managers/acpi/parser/psopcode.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/psopcode.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/parser/psopcode.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/psopcode.c diff --git a/src/add-ons/kernel/bus_managers/acpi/parser/psparse.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/psparse.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/parser/psparse.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/psparse.c diff --git a/src/add-ons/kernel/bus_managers/acpi/parser/psscope.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/psscope.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/parser/psscope.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/psscope.c diff --git a/src/add-ons/kernel/bus_managers/acpi/parser/pstree.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/pstree.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/parser/pstree.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/pstree.c diff --git a/src/add-ons/kernel/bus_managers/acpi/parser/psutils.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/psutils.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/parser/psutils.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/psutils.c diff --git a/src/add-ons/kernel/bus_managers/acpi/parser/pswalk.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/pswalk.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/parser/pswalk.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/pswalk.c diff --git a/src/add-ons/kernel/bus_managers/acpi/parser/psxface.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/psxface.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/parser/psxface.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/parser/psxface.c diff --git a/src/add-ons/kernel/bus_managers/acpi/resources/rsaddr.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsaddr.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/resources/rsaddr.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsaddr.c diff --git a/src/add-ons/kernel/bus_managers/acpi/resources/rscalc.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rscalc.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/resources/rscalc.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rscalc.c diff --git a/src/add-ons/kernel/bus_managers/acpi/resources/rscreate.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rscreate.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/resources/rscreate.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rscreate.c diff --git a/src/add-ons/kernel/bus_managers/acpi/resources/rsdump.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsdump.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/resources/rsdump.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsdump.c diff --git a/src/add-ons/kernel/bus_managers/acpi/resources/rsinfo.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsinfo.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/resources/rsinfo.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsinfo.c diff --git a/src/add-ons/kernel/bus_managers/acpi/resources/rsio.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsio.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/resources/rsio.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsio.c diff --git a/src/add-ons/kernel/bus_managers/acpi/resources/rsirq.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsirq.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/resources/rsirq.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsirq.c diff --git a/src/add-ons/kernel/bus_managers/acpi/resources/rslist.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rslist.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/resources/rslist.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rslist.c diff --git a/src/add-ons/kernel/bus_managers/acpi/resources/rsmemory.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsmemory.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/resources/rsmemory.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsmemory.c diff --git a/src/add-ons/kernel/bus_managers/acpi/resources/rsmisc.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsmisc.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/resources/rsmisc.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsmisc.c diff --git a/src/add-ons/kernel/bus_managers/acpi/resources/rsutils.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsutils.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/resources/rsutils.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsutils.c diff --git a/src/add-ons/kernel/bus_managers/acpi/resources/rsxface.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsxface.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/resources/rsxface.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/resources/rsxface.c diff --git a/src/add-ons/kernel/bus_managers/acpi/tables/tbfadt.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/tables/tbfadt.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/tables/tbfadt.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/tables/tbfadt.c diff --git a/src/add-ons/kernel/bus_managers/acpi/tables/tbfind.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/tables/tbfind.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/tables/tbfind.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/tables/tbfind.c diff --git a/src/add-ons/kernel/bus_managers/acpi/tables/tbinstal.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/tables/tbinstal.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/tables/tbinstal.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/tables/tbinstal.c diff --git a/src/add-ons/kernel/bus_managers/acpi/tables/tbutils.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/tables/tbutils.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/tables/tbutils.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/tables/tbutils.c diff --git a/src/add-ons/kernel/bus_managers/acpi/tables/tbxface.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/tables/tbxface.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/tables/tbxface.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/tables/tbxface.c diff --git a/src/add-ons/kernel/bus_managers/acpi/tables/tbxfroot.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/tables/tbxfroot.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/tables/tbxfroot.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/tables/tbxfroot.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utalloc.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utalloc.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utalloc.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utalloc.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utcache.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utcache.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utcache.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utcache.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utclib.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utclib.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utclib.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utclib.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utcopy.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utcopy.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utcopy.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utcopy.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utdebug.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utdebug.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utdebug.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utdebug.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utdecode.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utdecode.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utdecode.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utdecode.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utdelete.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utdelete.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utdelete.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utdelete.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/uteval.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/uteval.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/uteval.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/uteval.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utglobal.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utglobal.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utglobal.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utglobal.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utids.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utids.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utids.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utids.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utinit.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utinit.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utinit.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utinit.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utlock.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utlock.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utlock.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utlock.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utmath.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utmath.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utmath.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utmath.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utmisc.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utmisc.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utmisc.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utmisc.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utmutex.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utmutex.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utmutex.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utmutex.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utobject.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utobject.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utobject.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utobject.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utosi.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utosi.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utosi.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utosi.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utresrc.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utresrc.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utresrc.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utresrc.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utstate.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utstate.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utstate.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utstate.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/uttrack.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/uttrack.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/uttrack.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/uttrack.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utxface.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utxface.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utxface.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utxface.c diff --git a/src/add-ons/kernel/bus_managers/acpi/utilities/utxferror.c b/src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utxferror.c similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/utilities/utxferror.c rename to src/add-ons/kernel/bus_managers/acpi/acpica/components/utilities/utxferror.c diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acapps.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acapps.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acapps.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acapps.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/accommon.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/accommon.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/accommon.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/accommon.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acconfig.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acconfig.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acconfig.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acconfig.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acdebug.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acdebug.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acdebug.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acdebug.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acdisasm.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acdisasm.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acdisasm.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acdisasm.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acdispat.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acdispat.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acdispat.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acdispat.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acevents.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acevents.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acevents.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acevents.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acexcep.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acexcep.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acexcep.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acexcep.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acglobal.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acglobal.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acglobal.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acglobal.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/achware.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/achware.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/achware.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/achware.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acinterp.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acinterp.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acinterp.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acinterp.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/aclocal.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/aclocal.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/aclocal.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/aclocal.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acmacros.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acmacros.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acmacros.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acmacros.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acnames.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acnames.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acnames.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acnames.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acnamesp.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acnamesp.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acnamesp.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acnamesp.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acobject.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acobject.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acobject.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acobject.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acopcode.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acopcode.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acopcode.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acopcode.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acoutput.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acoutput.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acoutput.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acoutput.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acparser.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acparser.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acparser.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acparser.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acpi.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acpi.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acpi.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acpi.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acpiosxf.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acpiosxf.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acpiosxf.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acpiosxf.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acpixf.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acpixf.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acpixf.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acpixf.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acpredef.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acpredef.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acpredef.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acpredef.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acresrc.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acresrc.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acresrc.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acresrc.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acrestyp.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acrestyp.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acrestyp.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acrestyp.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acstruct.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acstruct.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acstruct.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acstruct.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/actables.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/actables.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/actables.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/actables.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/actbl.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/actbl.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/actbl.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/actbl.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/actbl1.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/actbl1.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/actbl1.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/actbl1.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/actbl2.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/actbl2.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/actbl2.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/actbl2.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/actypes.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/actypes.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/actypes.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/actypes.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/acutils.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/acutils.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/acutils.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/acutils.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/amlcode.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/amlcode.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/amlcode.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/amlcode.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/amlresrc.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/amlresrc.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/amlresrc.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/amlresrc.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/platform/acefi.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/platform/acefi.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/platform/acefi.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/platform/acefi.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/platform/acenv.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/platform/acenv.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/platform/acenv.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/platform/acenv.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/platform/acgcc.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/platform/acgcc.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/platform/acgcc.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/platform/acgcc.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/platform/achaiku.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/platform/achaiku.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/platform/achaiku.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/platform/achaiku.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/platform/acintel.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/platform/acintel.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/platform/acintel.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/platform/acintel.h diff --git a/src/add-ons/kernel/bus_managers/acpi/include/platform/acmsvc.h b/src/add-ons/kernel/bus_managers/acpi/acpica/include/platform/acmsvc.h similarity index 100% rename from src/add-ons/kernel/bus_managers/acpi/include/platform/acmsvc.h rename to src/add-ons/kernel/bus_managers/acpi/acpica/include/platform/acmsvc.h diff --git a/src/system/kernel/arch/x86/Jamfile b/src/system/kernel/arch/x86/Jamfile index ecb9706398..cc43a7da0a 100644 --- a/src/system/kernel/arch/x86/Jamfile +++ b/src/system/kernel/arch/x86/Jamfile @@ -3,8 +3,8 @@ SubDir HAIKU_TOP src system kernel arch x86 ; SubDirHdrs [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) system kernel ] ; # for syscall_numbers.h SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers ps2 ; -SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi include ; -SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi include platform ; +SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica include ; +SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica include platform ; SubDirHdrs $(SUBDIR) timers ; UsePrivateKernelHeaders ; From 74880af10c2b89830985430fc7ee26a5a34db04d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 11 Jul 2012 20:38:10 +0200 Subject: [PATCH 04/18] app_server: fixed FreeType headers dependency #8716 * added source files which use ServerFont.h and ServerApp.h --- src/servers/app/Jamfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/servers/app/Jamfile b/src/servers/app/Jamfile index 0b917f3c7e..6ef1fe9673 100644 --- a/src/servers/app/Jamfile +++ b/src/servers/app/Jamfile @@ -28,8 +28,10 @@ local font_src = ; UseHeaders $(HAIKU_FREETYPE_HEADERS) : true ; -Includes [ FGristFiles AppServer.cpp Desktop.cpp DesktopSettings.cpp - ServerApp.cpp ServerPicture.cpp $(decorator_src) $(font_src) ] +Includes [ FGristFiles AppServer.cpp BitmapManager.cpp + ClientMemoryAllocator.cpp Desktop.cpp DesktopSettings.cpp DrawState.cpp + ServerApp.cpp ServerBitmap.cpp ServerPicture.cpp ServerWindow.cpp View.cpp + Window.cpp WorkspacesView.cpp $(decorator_src) $(font_src) ] : $(HAIKU_FREETYPE_HEADERS_DEPENDENCY) ; From e278dc80e95f3957167c3c7aae42076a7aa8f26c Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Wed, 11 Jul 2012 13:12:58 -0500 Subject: [PATCH 05/18] Flurry: Fix Mesa dependency for out-of-order builds * Resolves #8717 --- src/add-ons/screen_savers/flurry/Jamfile | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/add-ons/screen_savers/flurry/Jamfile b/src/add-ons/screen_savers/flurry/Jamfile index 61854d35fa..54357c262c 100644 --- a/src/add-ons/screen_savers/flurry/Jamfile +++ b/src/add-ons/screen_savers/flurry/Jamfile @@ -9,18 +9,25 @@ if $(HAIKU_GCC_VERSION[1]) < 3 { AddResources Message : Flurry.rdef ; -ScreenSaver Flurry : +local sources = Flurry.cpp Smoke.cpp Spark.cpp Star.cpp Texture.cpp - : +; + +Includes [ FGristFiles $(sources) ] : $(HAIKU_MESA_HEADERS_DEPENDENCY) ; + # Dependency needed to trigger downloading/unzipping the package before + # compiling the files. + +ScreenSaver Flurry : + $(sources) : be screensaver GL libshared.a $(HAIKU_LOCALE_LIBS) $(TARGET_LIBSUPC++) ; DoCatalogs Flurry : x-vnd.Haiku-Flurry : - Flurry.cpp + $(sources) ; From 36daae570c16898df20ff125c5d2e70d9c35c28e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 11 Jul 2012 21:43:21 +0200 Subject: [PATCH 06/18] app_server: fixed FreeType headers dependency #8716 * added ServerFont.cpp --- src/servers/app/Jamfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/servers/app/Jamfile b/src/servers/app/Jamfile index 6ef1fe9673..7011f32ad6 100644 --- a/src/servers/app/Jamfile +++ b/src/servers/app/Jamfile @@ -30,8 +30,9 @@ local font_src = UseHeaders $(HAIKU_FREETYPE_HEADERS) : true ; Includes [ FGristFiles AppServer.cpp BitmapManager.cpp ClientMemoryAllocator.cpp Desktop.cpp DesktopSettings.cpp DrawState.cpp - ServerApp.cpp ServerBitmap.cpp ServerPicture.cpp ServerWindow.cpp View.cpp - Window.cpp WorkspacesView.cpp $(decorator_src) $(font_src) ] + ServerApp.cpp ServerBitmap.cpp ServerFont.cpp ServerPicture.cpp + ServerWindow.cpp View.cpp Window.cpp WorkspacesView.cpp + $(decorator_src) $(font_src) ] : $(HAIKU_FREETYPE_HEADERS_DEPENDENCY) ; From 9fb13e2c1e869916ae6c29863e70e4294c9fc731 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 11 Jul 2012 22:12:38 +0200 Subject: [PATCH 07/18] app_server: fixed FreeType headers dependency #8716 * added DrawingEngine.cpp --- src/servers/app/drawing/Jamfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/servers/app/drawing/Jamfile b/src/servers/app/drawing/Jamfile index f84cc4f1f8..ff28d23ee1 100644 --- a/src/servers/app/drawing/Jamfile +++ b/src/servers/app/drawing/Jamfile @@ -12,6 +12,9 @@ UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing Painter drawing_modes UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing Painter font_support ] ; UseHeaders $(HAIKU_FREETYPE_HEADERS) : true ; +Includes [ FGristFiles DrawingEngine.cpp ] + : $(HAIKU_FREETYPE_HEADERS_DEPENDENCY) ; + StaticLibrary libasdrawing.a : AccelerantBuffer.cpp AccelerantHWInterface.cpp From 41a212d24105d1b72cbc1224cd21555ccb5b59c6 Mon Sep 17 00:00:00 2001 From: Alexandre Deckner Date: Wed, 11 Jul 2012 22:42:54 +0200 Subject: [PATCH 08/18] Update haiku-webkit build package. Use new version info --- build/jam/OptionalBuildFeatures | 2 +- src/apps/webpositive/BrowserApp.cpp | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/build/jam/OptionalBuildFeatures b/build/jam/OptionalBuildFeatures index 17bf69868d..af9d300f63 100644 --- a/build/jam/OptionalBuildFeatures +++ b/build/jam/OptionalBuildFeatures @@ -421,7 +421,7 @@ if $(HAIKU_BUILD_FEATURE_TAGLIB) { # WebKit -HAIKU_WEBKIT_FILE = webkit-0.1.1-x86-gcc4-2012-07-03.zip ; +HAIKU_WEBKIT_FILE = haikuwebkit-1.1.2-x86-gcc4-2012-07-11.zip ; if $(TARGET_ARCH) = x86 { if $(HAIKU_GCC_VERSION[1]) < 4 { Echo "WebKit support not available on gcc $(HAIKU_GCC_VERSION[1])" ; diff --git a/src/apps/webpositive/BrowserApp.cpp b/src/apps/webpositive/BrowserApp.cpp index 71e2177e42..ce0082a990 100644 --- a/src/apps/webpositive/BrowserApp.cpp +++ b/src/apps/webpositive/BrowserApp.cpp @@ -35,6 +35,7 @@ #include "SettingsWindow.h" #include "svn_revision.h" #include "NetworkCookieJar.h" +#include "WebKitInfo.h" #include "WebPage.h" #include "WebSettings.h" #include "WebView.h" @@ -86,8 +87,13 @@ void BrowserApp::AboutRequested() { BString aboutText("WebPositive\n\nby Ryan Leavengood, Andrea Anzani, " - "Maxime Simon, Michael Lotz, Rene Gollent and Stephan Aßmus"); - aboutText << "\n\nSVN revision: " << kSVNRevision; + "Maxime Simon, Michael Lotz, Rene Gollent, Stephan Aßmus and " + "Alexandre Deckner"); + aboutText << "\n\nWebPositive 1.1"; + aboutText << "\n\nHaikuWebKit " << WebKitInfo::HaikuWebKitVersion(); + aboutText << " (" << WebKitInfo::HaikuWebKitRevision() << ")"; + aboutText << "\nWebKit " << WebKitInfo::WebKitVersion(); + aboutText << " (" << WebKitInfo::WebKitRevision() << ")"; BAlert* alert = new BAlert("About WebPositive", aboutText.String(), "Sweet!"); From d0a19242a8701f96751df7557509b01a95591418 Mon Sep 17 00:00:00 2001 From: luroh Date: Wed, 11 Jul 2012 23:21:03 +0200 Subject: [PATCH 09/18] Add FreeType headers dependencies, #8716. --- src/servers/app/drawing/Painter/Jamfile | 3 +++ src/servers/app/drawing/html5/Jamfile | 3 +++ src/servers/app/drawing/remote/Jamfile | 3 +++ src/servers/app/stackandtile/Jamfile | 3 +++ 4 files changed, 12 insertions(+) diff --git a/src/servers/app/drawing/Painter/Jamfile b/src/servers/app/drawing/Painter/Jamfile index f92da4e8d2..f736f5cd66 100644 --- a/src/servers/app/drawing/Painter/Jamfile +++ b/src/servers/app/drawing/Painter/Jamfile @@ -18,6 +18,9 @@ if $(TARGET_ARCH) = x86 { PAINTER_ARCH_SOURCES = painter_bilinear_scale.nasm ; } +Includes [ FGristFiles AGGTextRenderer.cpp Painter.cpp ] + : $(HAIKU_FREETYPE_HEADERS_DEPENDENCY) ; + StaticLibrary libpainter.a : GlobalSubpixelSettings.cpp Painter.cpp diff --git a/src/servers/app/drawing/html5/Jamfile b/src/servers/app/drawing/html5/Jamfile index 611656e782..9d1c6d89c4 100644 --- a/src/servers/app/drawing/html5/Jamfile +++ b/src/servers/app/drawing/html5/Jamfile @@ -13,6 +13,9 @@ UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing Painter drawing_modes UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing Painter font_support ] ; UseHeaders $(HAIKU_FREETYPE_HEADERS) : true ; +Includes [ FGristFiles HTML5HWInterface.cpp HTML5DrawingEngine.cpp CanvasMessage.cpp ] + : $(HAIKU_FREETYPE_HEADERS_DEPENDENCY) ; + StaticLibrary libashtml5.a : base64.cpp diff --git a/src/servers/app/drawing/remote/Jamfile b/src/servers/app/drawing/remote/Jamfile index aad0a86f86..836bc7bba9 100644 --- a/src/servers/app/drawing/remote/Jamfile +++ b/src/servers/app/drawing/remote/Jamfile @@ -13,6 +13,9 @@ UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing Painter drawing_modes UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing Painter font_support ] ; UseHeaders $(HAIKU_FREETYPE_HEADERS) : true ; +Includes [ FGristFiles RemoteDrawingEngine.cpp RemoteMessage.cpp RemoteHWInterface.cpp ] + : $(HAIKU_FREETYPE_HEADERS_DEPENDENCY) ; + StaticLibrary libasremote.a : NetReceiver.cpp NetSender.cpp diff --git a/src/servers/app/stackandtile/Jamfile b/src/servers/app/stackandtile/Jamfile index 55882c8950..c9e16ea7fc 100644 --- a/src/servers/app/stackandtile/Jamfile +++ b/src/servers/app/stackandtile/Jamfile @@ -10,6 +10,9 @@ UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing ] ; UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing Painter ] ; UseHeaders $(HAIKU_FREETYPE_HEADERS) : true ; +Includes [ FGristFiles SATDecorator.cpp SATGroup.cpp SATWindow.cpp StackAndTile.cpp Stacking.cpp Tiling.cpp ] + : $(HAIKU_FREETYPE_HEADERS_DEPENDENCY) ; + StaticLibrary libstackandtile.a : SATDecorator.cpp SATGroup.cpp From f190d7d580c2aaae3646aed087c6245671e402bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 11 Jul 2012 23:56:38 +0200 Subject: [PATCH 10/18] app_server: cleanup of the previous commit --- src/servers/app/drawing/remote/Jamfile | 3 ++- src/servers/app/stackandtile/Jamfile | 13 ++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/servers/app/drawing/remote/Jamfile b/src/servers/app/drawing/remote/Jamfile index 836bc7bba9..30f00d66fb 100644 --- a/src/servers/app/drawing/remote/Jamfile +++ b/src/servers/app/drawing/remote/Jamfile @@ -13,7 +13,8 @@ UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing Painter drawing_modes UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing Painter font_support ] ; UseHeaders $(HAIKU_FREETYPE_HEADERS) : true ; -Includes [ FGristFiles RemoteDrawingEngine.cpp RemoteMessage.cpp RemoteHWInterface.cpp ] +Includes [ FGristFiles RemoteDrawingEngine.cpp RemoteMessage.cpp + RemoteHWInterface.cpp ] : $(HAIKU_FREETYPE_HEADERS_DEPENDENCY) ; StaticLibrary libasremote.a : diff --git a/src/servers/app/stackandtile/Jamfile b/src/servers/app/stackandtile/Jamfile index c9e16ea7fc..8842e3b1ad 100644 --- a/src/servers/app/stackandtile/Jamfile +++ b/src/servers/app/stackandtile/Jamfile @@ -10,14 +10,17 @@ UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing ] ; UseHeaders [ FDirName $(HAIKU_TOP) src servers app drawing Painter ] ; UseHeaders $(HAIKU_FREETYPE_HEADERS) : true ; -Includes [ FGristFiles SATDecorator.cpp SATGroup.cpp SATWindow.cpp StackAndTile.cpp Stacking.cpp Tiling.cpp ] - : $(HAIKU_FREETYPE_HEADERS_DEPENDENCY) ; - -StaticLibrary libstackandtile.a : +local sources = SATDecorator.cpp SATGroup.cpp SATWindow.cpp StackAndTile.cpp Stacking.cpp - Tiling.cpp + Tiling.cpp ; + +Includes [ FGristFiles $(sources) ] + : $(HAIKU_FREETYPE_HEADERS_DEPENDENCY) ; + +StaticLibrary libstackandtile.a : + $(sources) ; From 2218c029a5ab7260d03036b43c68475e0b35b449 Mon Sep 17 00:00:00 2001 From: Alexandre Deckner Date: Thu, 12 Jul 2012 00:44:17 +0200 Subject: [PATCH 11/18] Add localization support to WebPositive, patch by Humdinger * Includes style fixes * Functional fixes by myself, patch wouldn't build --- src/apps/webpositive/AuthenticationPanel.cpp | 143 +++++---- src/apps/webpositive/BrowserApp.cpp | 44 +-- src/apps/webpositive/BrowserWindow.cpp | 271 ++++++++++-------- src/apps/webpositive/DownloadProgressView.cpp | 91 +++--- src/apps/webpositive/DownloadWindow.cpp | 38 ++- src/apps/webpositive/URLInputGroup.cpp | 22 +- 6 files changed, 354 insertions(+), 255 deletions(-) diff --git a/src/apps/webpositive/AuthenticationPanel.cpp b/src/apps/webpositive/AuthenticationPanel.cpp index 7dcc55260f..a6db7ecad7 100644 --- a/src/apps/webpositive/AuthenticationPanel.cpp +++ b/src/apps/webpositive/AuthenticationPanel.cpp @@ -28,10 +28,12 @@ #include "AuthenticationPanel.h" #include +#include #include #include #include #include +#include #include #include #include @@ -44,28 +46,41 @@ static const uint32 kMsgPanelOK = 'pnok'; static const uint32 kMsgJitter = 'jitr'; static const uint32 kHidePassword = 'hdpw'; + +#undef B_TRANSLATION_CONTEXT +#define B_TRANSLATION_CONTEXT "Authentication Panel" + AuthenticationPanel::AuthenticationPanel(BRect parentFrame) - : BWindow(BRect(-1000, -1000, -900, -900), "Authentication Required", - B_TITLED_WINDOW_LOOK, B_MODAL_APP_WINDOW_FEEL, - B_ASYNCHRONOUS_CONTROLS | B_NOT_RESIZABLE | B_NOT_ZOOMABLE - | B_CLOSE_ON_ESCAPE | B_AUTO_UPDATE_SIZE_LIMITS) - , m_parentWindowFrame(parentFrame) - , m_usernameTextControl(new BTextControl("user", "Username:", "", NULL)) - , m_passwordTextControl(new BTextControl("pass", "Password:", "", NULL)) - , m_hidePasswordCheckBox(new BCheckBox("hide", "Hide password text", new BMessage(kHidePassword))) - , m_rememberCredentialsCheckBox(new BCheckBox("remember", "Remember username and password for this site", NULL)) - , m_okButton(new BButton("ok", "OK", new BMessage(kMsgPanelOK))) - , m_cancelButton(new BButton("cancel", "Cancel", new BMessage(B_QUIT_REQUESTED))) - , m_cancelled(false) - , m_exitSemaphore(create_sem(0, "Authentication Panel")) + : + BWindow(BRect(-1000, -1000, -900, -900), + B_TRANSLATE("Authentication Required"), B_TITLED_WINDOW_LOOK, + B_MODAL_APP_WINDOW_FEEL, B_ASYNCHRONOUS_CONTROLS | B_NOT_RESIZABLE + | B_NOT_ZOOMABLE | B_CLOSE_ON_ESCAPE | B_AUTO_UPDATE_SIZE_LIMITS), + m_parentWindowFrame(parentFrame), + m_usernameTextControl(new BTextControl("user", B_TRANSLATE("Username:"), + "", NULL)), + m_passwordTextControl(new BTextControl("pass", B_TRANSLATE("Password:"), + "", NULL)), + m_hidePasswordCheckBox(new BCheckBox("hide", B_TRANSLATE("Hide password " + "text"), new BMessage(kHidePassword))), + m_rememberCredentialsCheckBox(new BCheckBox("remember", + B_TRANSLATE("Remember username and password for this site"), NULL)), + m_okButton(new BButton("ok", B_TRANSLATE("OK"), + new BMessage(kMsgPanelOK))), + m_cancelButton(new BButton("cancel", B_TRANSLATE("Cancel"), + new BMessage(B_QUIT_REQUESTED))), + m_cancelled(false), + m_exitSemaphore(create_sem(0, "Authentication Panel")) { } + AuthenticationPanel::~AuthenticationPanel() { delete_sem(m_exitSemaphore); } + bool AuthenticationPanel::QuitRequested() { @@ -74,6 +89,7 @@ AuthenticationPanel::QuitRequested() return false; } + void AuthenticationPanel::MessageReceived(BMessage* message) { @@ -81,21 +97,23 @@ AuthenticationPanel::MessageReceived(BMessage* message) case kMsgPanelOK: release_sem(m_exitSemaphore); break; - case kHidePassword: { - // TODO: Toggling this is broken in BTextView. Workaround is to - // set the text and selection again. - BString text = m_passwordTextControl->Text(); - int32 selectionStart; - int32 selectionEnd; - m_passwordTextControl->TextView()->GetSelection(&selectionStart, &selectionEnd); + case kHidePassword: { + // TODO: Toggling this is broken in BTextView. Workaround is to + // set the text and selection again. + BString text = m_passwordTextControl->Text(); + int32 selectionStart; + int32 selectionEnd; + m_passwordTextControl->TextView()->GetSelection(&selectionStart, + &selectionEnd); m_passwordTextControl->TextView()->HideTyping( - m_hidePasswordCheckBox->Value() == B_CONTROL_ON); - m_passwordTextControl->SetText(text.String()); - m_passwordTextControl->TextView()->Select(selectionStart, selectionEnd); - break; - } - case kMsgJitter: { - UpdateIfNeeded(); + m_hidePasswordCheckBox->Value() == B_CONTROL_ON); + m_passwordTextControl->SetText(text.String()); + m_passwordTextControl->TextView()->Select(selectionStart, + selectionEnd); + break; + } + case kMsgJitter: { + UpdateIfNeeded(); BPoint leftTop = Frame().LeftTop(); const float jitterOffsets[] = { -10, 0, 10, 0 }; const int32 jitterOffsetCount = sizeof(jitterOffsets) / sizeof(float); @@ -106,14 +124,15 @@ AuthenticationPanel::MessageReceived(BMessage* message) } MoveTo(leftTop); break; - } + } default: BWindow::MessageReceived(message); } } + bool AuthenticationPanel::getAuthentication(const BString& text, - const BString& previousUser, const BString& previousPass, + const BString& previousUser, const BString& previousPass, bool previousRememberCredentials, bool badPassword, BString& user, BString& pass, bool* rememberCredentials) { @@ -121,17 +140,18 @@ bool AuthenticationPanel::getAuthentication(const BString& text, rgb_color infoColor = ui_color(B_PANEL_TEXT_COLOR); BRect textBounds(0, 0, 250, 200); BTextView* textView = new BTextView(textBounds, "text", textBounds, - be_plain_font, &infoColor, B_FOLLOW_NONE, B_WILL_DRAW | B_SUPPORTS_LAYOUT); + be_plain_font, &infoColor, B_FOLLOW_NONE, B_WILL_DRAW + | B_SUPPORTS_LAYOUT); textView->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); textView->SetText(text.String()); textView->MakeEditable(false); textView->MakeSelectable(false); - m_usernameTextControl->SetText(previousUser.String()); + m_usernameTextControl->SetText(previousUser.String()); m_passwordTextControl->TextView()->HideTyping(true); // Ignore the previous password, if it didn't work. if (!badPassword) - m_passwordTextControl->SetText(previousPass.String()); + m_passwordTextControl->SetText(previousPass.String()); m_hidePasswordCheckBox->SetValue(B_CONTROL_ON); m_rememberCredentialsCheckBox->SetValue(previousRememberCredentials); @@ -139,24 +159,24 @@ bool AuthenticationPanel::getAuthentication(const BString& text, SetLayout(new BGroupLayout(B_VERTICAL, 0.0)); float spacing = be_control_look->DefaultItemSpacing(); AddChild(BGroupLayoutBuilder(B_VERTICAL, 0.0) - .Add(BGridLayoutBuilder(0, spacing) - .Add(textView, 0, 0, 2) - .Add(m_usernameTextControl->CreateLabelLayoutItem(), 0, 1) - .Add(m_usernameTextControl->CreateTextViewLayoutItem(), 1, 1) - .Add(m_passwordTextControl->CreateLabelLayoutItem(), 0, 2) - .Add(m_passwordTextControl->CreateTextViewLayoutItem(), 1, 2) - .Add(BSpaceLayoutItem::CreateGlue(), 0, 3) - .Add(m_hidePasswordCheckBox, 1, 3) - .Add(m_rememberCredentialsCheckBox, 0, 4, 2) - .SetInsets(spacing, spacing, spacing, spacing) - ) - .Add(new BSeparatorView(B_HORIZONTAL, B_PLAIN_BORDER)) - .Add(BGroupLayoutBuilder(B_HORIZONTAL, spacing) - .AddGlue() - .Add(m_cancelButton) - .Add(m_okButton) - .SetInsets(spacing, spacing, spacing, spacing) - ) + .Add(BGridLayoutBuilder(0, spacing) + .Add(textView, 0, 0, 2) + .Add(m_usernameTextControl->CreateLabelLayoutItem(), 0, 1) + .Add(m_usernameTextControl->CreateTextViewLayoutItem(), 1, 1) + .Add(m_passwordTextControl->CreateLabelLayoutItem(), 0, 2) + .Add(m_passwordTextControl->CreateTextViewLayoutItem(), 1, 2) + .Add(BSpaceLayoutItem::CreateGlue(), 0, 3) + .Add(m_hidePasswordCheckBox, 1, 3) + .Add(m_rememberCredentialsCheckBox, 0, 4, 2) + .SetInsets(spacing, spacing, spacing, spacing) + ) + .Add(new BSeparatorView(B_HORIZONTAL, B_PLAIN_BORDER)) + .Add(BGroupLayoutBuilder(B_HORIZONTAL, spacing) + .AddGlue() + .Add(m_cancelButton) + .Add(m_okButton) + .SetInsets(spacing, spacing, spacing, spacing) + ) ); float textHeight = textView->LineHeight(0) * textView->CountLines(); @@ -164,14 +184,14 @@ bool AuthenticationPanel::getAuthentication(const BString& text, SetDefaultButton(m_okButton); if (badPassword && previousUser.Length()) - m_passwordTextControl->MakeFocus(true); + m_passwordTextControl->MakeFocus(true); else - m_usernameTextControl->MakeFocus(true); + m_usernameTextControl->MakeFocus(true); - if (m_parentWindowFrame.IsValid()) - CenterIn(m_parentWindowFrame); - else - CenterOnScreen(); + if (m_parentWindowFrame.IsValid()) + CenterIn(m_parentWindowFrame); + else + CenterOnScreen(); // Start AuthenticationPanel window thread Show(); @@ -182,12 +202,14 @@ bool AuthenticationPanel::getAuthentication(const BString& text, // Block calling thread // Get the originating window, if it exists, to let it redraw itself. - BWindow* window = dynamic_cast(BLooper::LooperForThread(find_thread(NULL))); + BWindow* window = dynamic_cast + (BLooper::LooperForThread(find_thread(NULL))); if (window) { status_t err; for (;;) { do { - err = acquire_sem_etc(m_exitSemaphore, 1, B_RELATIVE_TIMEOUT, 10000); + err = acquire_sem_etc(m_exitSemaphore, 1, B_RELATIVE_TIMEOUT, + 10000); // We've (probably) had our time slice taken away from us } while (err == B_INTERRUPTED); @@ -209,9 +231,10 @@ bool AuthenticationPanel::getAuthentication(const BString& text, user = m_usernameTextControl->Text(); pass = m_passwordTextControl->Text(); if (rememberCredentials) - *rememberCredentials = m_rememberCredentialsCheckBox->Value() == B_CONTROL_ON; + *rememberCredentials = m_rememberCredentialsCheckBox->Value() + == B_CONTROL_ON; - bool canceled = m_cancelled; + bool canceled = m_cancelled; Quit(); // AuthenticationPanel object is TOAST here. return !canceled; diff --git a/src/apps/webpositive/BrowserApp.cpp b/src/apps/webpositive/BrowserApp.cpp index ce0082a990..c4291675ff 100644 --- a/src/apps/webpositive/BrowserApp.cpp +++ b/src/apps/webpositive/BrowserApp.cpp @@ -28,6 +28,19 @@ #include "BrowserApp.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + #include "BrowserWindow.h" #include "BrowsingHistory.h" #include "DownloadWindow.h" @@ -39,20 +52,13 @@ #include "WebPage.h" #include "WebSettings.h" #include "WebView.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#undef B_TRANSLATION_CONTEXT +#define B_TRANSLATION_CONTEXT "WebPositive" + const char* kApplicationSignature = "application/x-vnd.Haiku-WebPositive"; -const char* kApplicationName = "WebPositive"; +const char* kApplicationName = B_TRANSLATE_SYSTEM_NAME("WebPositive"); static const uint32 PRELOAD_BROWSING_HISTORY = 'plbh'; #define ENABLE_NATIVE_COOKIES 0 @@ -174,8 +180,10 @@ BrowserApp::ReadyToRun() float borderWidth = 0; if (decoratorSettings.FindFloat("border width", &borderWidth) != B_OK) borderWidth = 5; - fDownloadWindow->MoveTo(screenFrame.Width() - fDownloadWindow->Frame().Width() - borderWidth, - screenFrame.Height() - fDownloadWindow->Frame().Height() - borderWidth); + fDownloadWindow->MoveTo(screenFrame.Width() + - fDownloadWindow->Frame().Width() - borderWidth, + screenFrame.Height() - fDownloadWindow->Frame().Height() + - borderWidth); } fSettingsWindow = new SettingsWindow(settingsWindowFrame, fSettings); @@ -217,7 +225,8 @@ BrowserApp::MessageReceived(BMessage* message) } case NEW_TAB: { BrowserWindow* window; - if (message->FindPointer("window", reinterpret_cast(&window)) != B_OK) + if (message->FindPointer("window", + reinterpret_cast(&window)) != B_OK) break; BString url; message->FindString("url", &url); @@ -268,9 +277,10 @@ bool BrowserApp::QuitRequested() { if (fDownloadWindow->DownloadsInProgress()) { - BAlert* alert = new BAlert("Downloads in progress", - "There are still downloads in progress, do you really want to " - "quit WebPositive now?", "Quit", "Continue downloads"); + BAlert* alert = new BAlert(B_TRANSLATE("Downloads in progress"), + B_TRANSLATE("There are still downloads in progress, do you really " + "want to quit WebPositive now?"), B_TRANSLATE("Quit"), + B_TRANSLATE("Continue downloads")); int32 choice = alert->Go(); if (choice == 1) { if (fWindowCount == 0) { diff --git a/src/apps/webpositive/BrowserWindow.cpp b/src/apps/webpositive/BrowserWindow.cpp index 4987ea7f40..85fb8d1d25 100644 --- a/src/apps/webpositive/BrowserWindow.cpp +++ b/src/apps/webpositive/BrowserWindow.cpp @@ -32,6 +32,37 @@ #include "BrowserWindow.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + #include "AuthenticationPanel.h" #include "BaseURL.h" #include "BitmapButton.h" @@ -48,35 +79,10 @@ #include "WebView.h" #include "WebViewConstants.h" #include "WindowIcon.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#undef B_TRANSLATION_CONTEXT +#define B_TRANSLATION_CONTEXT "WebPositive Window" enum { OPEN_LOCATION = 'open', @@ -148,9 +154,9 @@ public: private: void _AddStaticItems() { - AddItem(new BMenuItem("Manage bookmarks", + AddItem(new BMenuItem(B_TRANSLATE("Manage bookmarks"), new BMessage(SHOW_BOOKMARKS), 'M'), 0); - AddItem(new BMenuItem("Bookmark this page", + AddItem(new BMenuItem(B_TRANSLATE("Bookmark this page"), new BMessage(CREATE_BOOKMARK), 'B'), 0); } }; @@ -281,82 +287,88 @@ BrowserWindow::BrowserWindow(BRect frame, SettingsMessage* appSettings, #else BMenu* mainMenu = new BMenuBar("Main menu"); #endif - BMenu* menu = new BMenu("Window"); + BMenu* menu = new BMenu(B_TRANSLATE("Window")); BMessage* newWindowMessage = new BMessage(NEW_WINDOW); newWindowMessage->AddString("url", ""); - BMenuItem* newItem = new BMenuItem("New window", newWindowMessage, 'N'); + BMenuItem* newItem = new BMenuItem(B_TRANSLATE("New window"), + newWindowMessage, 'N'); menu->AddItem(newItem); newItem->SetTarget(be_app); - newItem = new BMenuItem("New tab", new BMessage(*newTabMessage), 'T'); + newItem = new BMenuItem(B_TRANSLATE("New tab"), + new BMessage(*newTabMessage), 'T'); menu->AddItem(newItem); newItem->SetTarget(be_app); - menu->AddItem(new BMenuItem("Open location", new BMessage(OPEN_LOCATION), - 'L')); + menu->AddItem(new BMenuItem(B_TRANSLATE("Open location"), + new BMessage(OPEN_LOCATION), 'L')); menu->AddSeparatorItem(); - menu->AddItem(new BMenuItem("Close window", new BMessage(B_QUIT_REQUESTED), - 'W', B_SHIFT_KEY)); - menu->AddItem(new BMenuItem("Close tab", new BMessage(CLOSE_TAB), 'W')); + menu->AddItem(new BMenuItem(B_TRANSLATE("Close window"), + new BMessage(B_QUIT_REQUESTED), 'W', B_SHIFT_KEY)); + menu->AddItem(new BMenuItem(B_TRANSLATE("Close tab"), + new BMessage(CLOSE_TAB), 'W')); menu->AddSeparatorItem(); - menu->AddItem(new BMenuItem("Downloads", + menu->AddItem(new BMenuItem(B_TRANSLATE("Downloads"), new BMessage(SHOW_DOWNLOAD_WINDOW), 'D')); - menu->AddItem(new BMenuItem("Settings", + menu->AddItem(new BMenuItem(B_TRANSLATE("Settings"), new BMessage(SHOW_SETTINGS_WINDOW))); - BMenuItem* aboutItem = new BMenuItem("About", + BMenuItem* aboutItem = new BMenuItem(B_TRANSLATE("About"), new BMessage(B_ABOUT_REQUESTED)); menu->AddItem(aboutItem); aboutItem->SetTarget(be_app); menu->AddSeparatorItem(); - BMenuItem* quitItem = new BMenuItem("Quit", + BMenuItem* quitItem = new BMenuItem(B_TRANSLATE("Quit"), new BMessage(B_QUIT_REQUESTED), 'Q'); menu->AddItem(quitItem); quitItem->SetTarget(be_app); mainMenu->AddItem(menu); - menu = new BMenu("Edit"); - menu->AddItem(fCutMenuItem = new BMenuItem("Cut", new BMessage(B_CUT), - 'X')); - menu->AddItem(fCopyMenuItem = new BMenuItem("Copy", new BMessage(B_COPY), - 'C')); - menu->AddItem(fPasteMenuItem = new BMenuItem("Paste", new BMessage(B_PASTE), - 'V')); + menu = new BMenu(B_TRANSLATE("Edit")); + menu->AddItem(fCutMenuItem = new BMenuItem(B_TRANSLATE("Cut"), + new BMessage(B_CUT), 'X')); + menu->AddItem(fCopyMenuItem = new BMenuItem(B_TRANSLATE("Copy"), + new BMessage(B_COPY), 'C')); + menu->AddItem(fPasteMenuItem = new BMenuItem(B_TRANSLATE("Paste"), + new BMessage(B_PASTE), 'V')); menu->AddSeparatorItem(); - menu->AddItem(new BMenuItem("Find", new BMessage(EDIT_SHOW_FIND_GROUP), - 'F')); - menu->AddItem(fFindPreviousMenuItem = new BMenuItem("Find previous", + menu->AddItem(new BMenuItem(B_TRANSLATE("Find"), + new BMessage(EDIT_SHOW_FIND_GROUP), 'F')); + menu->AddItem(fFindPreviousMenuItem + = new BMenuItem(B_TRANSLATE("Find previous"), new BMessage(EDIT_FIND_PREVIOUS), 'G', B_SHIFT_KEY)); - menu->AddItem(fFindNextMenuItem = new BMenuItem("Find next", + menu->AddItem(fFindNextMenuItem = new BMenuItem(B_TRANSLATE("Find next"), new BMessage(EDIT_FIND_NEXT), 'G')); mainMenu->AddItem(menu); fFindPreviousMenuItem->SetEnabled(false); fFindNextMenuItem->SetEnabled(false); - menu = new BMenu("View"); - menu->AddItem(new BMenuItem("Reload", new BMessage(RELOAD), 'R')); + menu = new BMenu(B_TRANSLATE("View")); + menu->AddItem(new BMenuItem(B_TRANSLATE("Reload"), new BMessage(RELOAD), + 'R')); menu->AddSeparatorItem(); - menu->AddItem(new BMenuItem("Increase size", + menu->AddItem(new BMenuItem(B_TRANSLATE("Increase size"), new BMessage(ZOOM_FACTOR_INCREASE), '+')); - menu->AddItem(new BMenuItem("Decrease size", + menu->AddItem(new BMenuItem(B_TRANSLATE("Decrease size"), new BMessage(ZOOM_FACTOR_DECREASE), '-')); - menu->AddItem(new BMenuItem("Reset size", + menu->AddItem(new BMenuItem(B_TRANSLATE("Reset size"), new BMessage(ZOOM_FACTOR_RESET), '0')); - fZoomTextOnlyMenuItem = new BMenuItem("Zoom text only", + fZoomTextOnlyMenuItem = new BMenuItem(B_TRANSLATE("Zoom text only"), new BMessage(ZOOM_TEXT_ONLY)); fZoomTextOnlyMenuItem->SetMarked(fZoomTextOnly); menu->AddItem(fZoomTextOnlyMenuItem); menu->AddSeparatorItem(); - fFullscreenItem = new BMenuItem("Fullscreen", + fFullscreenItem = new BMenuItem(B_TRANSLATE("Fullscreen"), new BMessage(TOGGLE_FULLSCREEN), B_RETURN); menu->AddItem(fFullscreenItem); - menu->AddItem(new BMenuItem("Page source", + menu->AddItem(new BMenuItem(B_TRANSLATE("Page source"), new BMessage(SHOW_PAGE_SOURCE), 'U')); mainMenu->AddItem(menu); - fHistoryMenu = new BMenu("History"); - fHistoryMenu->AddItem(fBackMenuItem = new BMenuItem("Back", + fHistoryMenu = new BMenu(B_TRANSLATE("History")); + fHistoryMenu->AddItem(fBackMenuItem = new BMenuItem(B_TRANSLATE("Back"), new BMessage(GO_BACK), B_LEFT_ARROW)); - fHistoryMenu->AddItem(fForwardMenuItem = new BMenuItem("Forward", - new BMessage(GO_FORWARD), B_RIGHT_ARROW)); + fHistoryMenu->AddItem(fForwardMenuItem + = new BMenuItem(B_TRANSLATE("Forward"), new BMessage(GO_FORWARD), + B_RIGHT_ARROW)); fHistoryMenu->AddSeparatorItem(); fHistoryMenuFixedItemCount = fHistoryMenu->CountItems(); mainMenu->AddItem(fHistoryMenu); @@ -366,7 +378,7 @@ BrowserWindow::BrowserWindow(BRect frame, SettingsMessage* appSettings, if (_BookmarkPath(bookmarkPath) == B_OK && get_ref_for_path(bookmarkPath.Path(), &bookmarkRef) == B_OK) { BMenu* bookmarkMenu - = new BookmarkMenu("Bookmarks", this, &bookmarkRef); + = new BookmarkMenu(B_TRANSLATE("Bookmarks"), this, &bookmarkRef); mainMenu->AddItem(bookmarkMenu); } @@ -412,15 +424,16 @@ BrowserWindow::BrowserWindow(BRect frame, SettingsMessage* appSettings, const float kElementSpacing = 5; // Find group - fFindTextControl = new BTextControl("find", "Find:", "", + fFindTextControl = new BTextControl("find", B_TRANSLATE("Find:"), "", new BMessage(EDIT_FIND_NEXT)); fFindTextControl->SetModificationMessage(new BMessage(FIND_TEXT_CHANGED)); - fFindPreviousButton = new BButton("Previous", + fFindPreviousButton = new BButton(B_TRANSLATE("Previous"), new BMessage(EDIT_FIND_PREVIOUS)); - fFindNextButton = new BButton("Next", new BMessage(EDIT_FIND_NEXT)); - fFindCloseButton = new BButton("Close", + fFindNextButton = new BButton(B_TRANSLATE("Next"), + new BMessage(EDIT_FIND_NEXT)); + fFindCloseButton = new BButton(B_TRANSLATE("Close"), new BMessage(EDIT_HIDE_FIND_GROUP)); - fFindCaseSensitiveCheckBox = new BCheckBox("Match case"); + fFindCaseSensitiveCheckBox = new BCheckBox(B_TRANSLATE("Match case")); BGroupLayout* findGroup = BLayoutBuilder::Group<>(B_VERTICAL, 0.0) .Add(new BSeparatorView(B_HORIZONTAL, B_PLAIN_BORDER)) .Add(BGroupLayoutBuilder(B_HORIZONTAL, kElementSpacing) @@ -511,7 +524,7 @@ BrowserWindow::BrowserWindow(BRect frame, SettingsMessage* appSettings, // Add shortcuts to select a particular tab for (int32 i = 1; i <= 9; i++) { - BMessage *selectTab = new BMessage(SELECT_TAB); + BMessage* selectTab = new BMessage(SELECT_TAB); selectTab->AddInt32("tab index", i - 1); char numStr[2]; snprintf(numStr, sizeof(numStr), "%d", (int) i); @@ -603,10 +616,10 @@ BrowserWindow::DispatchMessage(BMessage* message, BHandler* target) // Only do this when the mouse is over the web view if (CurrentWebView()->Bounds().Contains(where)) { // Zoom and unzoom text on Command + mouse wheel. - // This could of course (and maybe should be) implemented in the WebView, but there - // would need to be a way for the WebView to know the setting of the - // fZoomTextOnly member here. Plus other clients of the API may not want - // this feature. + // This could of course (and maybe should be) implemented in the + // WebView, but there would need to be a way for the WebView to + // know the setting of the fZoomTextOnly member here. Plus other + // clients of the API may not want this feature. if ((modifiers() & B_COMMAND_KEY) != 0) { float dy; if (message->FindFloat("be:wheel_delta_y", &dy) == B_OK) { @@ -667,8 +680,10 @@ BrowserWindow::MessageReceived(BMessage* message) BrowsingHistory* history = BrowsingHistory::DefaultInstance(); if (history->CountItems() == 0) break; - BAlert* alert = new BAlert("Confirmation", "Do you really want to " - "clear the browsing history?", "Clear", "Cancel"); + BAlert* alert = new BAlert(B_TRANSLATE("Confirmation"), + B_TRANSLATE("Do you really want to " + "clear the browsing history?"), B_TRANSLATE("Clear"), + B_TRANSLATE("Cancel")); if (alert->Go() == 0) history->Clear(); break; @@ -715,11 +730,12 @@ BrowserWindow::MessageReceived(BMessage* message) } message->RemoveName("refs"); if (addedCount > 10) { - BString string; - string << "Do you want to open " << addedCount; - string << " bookmarks all at once?"; - BAlert* alert = new BAlert("Open bookmarks confirmation", - string.String(), "Cancel", "Open all"); + BString string(B_TRANSLATE_COMMENT("Do you want to open %addedCount " + "bookmarks all at once?", "Don't translate variable %addedCount.")); + string.ReplaceFirst("%addedCount", BString() << addedCount); + + BAlert* alert = new BAlert(B_TRANSLATE("Open bookmarks confirmation"), + string.String(), B_TRANSLATE("Cancel"), B_TRANSLATE("Open all")); if (alert->Go() == 0) break; } @@ -1100,7 +1116,7 @@ BrowserWindow::CreateNewTab(const BString& _url, bool select, BWebView* webView) bool isNewWindow = fTabManager->CountTabs() == 0; - fTabManager->AddTab(webView, "New tab"); + fTabManager->AddTab(webView, B_TRANSLATE("New tab")); BString url(_url); if (applyNewPagePolicy && url.Length() == 0) @@ -1185,7 +1201,7 @@ BrowserWindow::NewWindowRequested(const BString& url, bool primaryAction) void BrowserWindow::NewPageCreated(BWebView* view, BRect windowFrame, - bool modalDialog, bool resizable, bool activate) + bool modalDialog, bool resizable, bool activate) { if (windowFrame.IsValid()) { BrowserWindow* window = new BrowserWindow(windowFrame, fAppSettings, @@ -1218,7 +1234,7 @@ BrowserWindow::LoadNegotiating(const BString& url, BWebView* view) fURLInputGroup->SetText(url.String()); - BString status("Requesting: "); + BString status(B_TRANSLATE("Requesting: ")); status << url; view->WebPage()->SetStatusMessage(status); } @@ -1233,7 +1249,7 @@ BrowserWindow::LoadCommitted(const BString& url, BWebView* view) // This hook is invoked when the load is commited. fURLInputGroup->SetText(url.String()); - BString status("Loading: "); + BString status(B_TRANSLATE("Loading: ")); status << url; view->WebPage()->SetStatusMessage(status); } @@ -1259,8 +1275,9 @@ BrowserWindow::LoadFailed(const BString& url, BWebView* view) if (view != CurrentWebView()) return; - BString status(url); - status << " failed."; + BString status(B_TRANSLATE_COMMENT("%url failed.", "Loading URL failed. " + "Don't translate variable %url.")); + status.ReplaceFirst("%url", url); view->WebPage()->SetStatusMessage(status); if (!fLoadingProgressBar->IsHidden()) fLoadingProgressBar->Hide(); @@ -1273,8 +1290,9 @@ BrowserWindow::LoadFinished(const BString& url, BWebView* view) if (view != CurrentWebView()) return; - BString status(url); - status << " finished."; + BString status(B_TRANSLATE_COMMENT("%url finished.", "Loading URL " + "finished. Don't translate variable %url.")); + status.ReplaceFirst("%url", url); view->WebPage()->SetStatusMessage(status); if (!fLoadingProgressBar->IsHidden()) fLoadingProgressBar->Hide(); @@ -1283,8 +1301,9 @@ BrowserWindow::LoadFinished(const BString& url, BWebView* view) fForwardButton->IsEnabled(), false, view); int32 tabIndex = fTabManager->TabForView(view); - if (tabIndex > 0 && strcmp("New tab", fTabManager->TabLabel(tabIndex)) == 0) - fTabManager->SetTabLabel(tabIndex, url); + if (tabIndex > 0 && strcmp(B_TRANSLATE("New tab"), + fTabManager->TabLabel(tabIndex)) == 0) + fTabManager->SetTabLabel(tabIndex, url); } @@ -1447,8 +1466,8 @@ BrowserWindow::UpdateGlobalHistory(const BString& url) bool BrowserWindow::AuthenticationChallenge(BString message, BString& inOutUser, - BString& inOutPassword, bool& inOutRememberCredentials, uint32 failureCount, - BWebView* view) + BString& inOutPassword, bool& inOutRememberCredentials, + uint32 failureCount, BWebView* view) { CredentialsStorage* persistentStorage = CredentialsStorage::PersistentInstance(); @@ -1571,11 +1590,13 @@ BrowserWindow::_CreateBookmark() BPath path; status_t status = _BookmarkPath(path); if (status != B_OK) { - BString message("There was an error retrieving the bookmark " - "folder.\n\n"); - message << "Error: " << strerror(status); - BAlert* alert = new BAlert("Bookmark error", message.String(), "OK", - NULL, NULL, B_WIDTH_AS_USUAL, B_STOP_ALERT); + BString message(B_TRANSLATE_COMMENT("There was an error retrieving " + "the bookmark folder.\n\nError: %error", "Don't translate the " + "variable %error")); + message.ReplaceFirst("%error", strerror(status)); + BAlert* alert = new BAlert(B_TRANSLATE("Bookmark error"), + message.String(), B_TRANSLATE("OK"), NULL, NULL, + B_WIDTH_AS_USUAL, B_STOP_ALERT); alert->Go(); return; } @@ -1599,10 +1620,12 @@ BrowserWindow::_CreateBookmark() // URLs, only for matching file names. BDirectory directory(path.Path()); if (status == B_OK && _CheckBookmarkExists(directory, bookmarkName, url)) { - BString message("A bookmark for this page ("); - message << bookmarkName; - message << ") already exists."; - BAlert* alert = new BAlert("Bookmark info", message.String(), "OK"); + BString message(B_TRANSLATE_COMMENT("A bookmark for this page " + "(%bookmarkName) already exists.", "Don't translate variable " + "%bookmarkName")); + message.ReplaceFirst("%bookmarkName", bookmarkName); + BAlert* alert = new BAlert(B_TRANSLATE("Bookmark info"), + message.String(), B_TRANSLATE("OK")); alert->Go(); return; } @@ -1690,11 +1713,13 @@ BrowserWindow::_CreateBookmark() } if (status != B_OK) { - BString message("There was an error creating the bookmark " - "file.\n\n"); - message << "Error: " << strerror(status); - BAlert* alert = new BAlert("Bookmark error", message.String(), "OK", - NULL, NULL, B_WIDTH_AS_USUAL, B_STOP_ALERT); + BString message(B_TRANSLATE_COMMENT("There was an error creating the " + "bookmark file.\n\nError: %error", "Don't translate variable " + "%error")); + message.ReplaceFirst("%error", strerror(status)); + BAlert* alert = new BAlert(B_TRANSLATE("Bookmark error"), + message.String(), B_TRANSLATE("OK"), NULL, NULL, + B_WIDTH_AS_USUAL, B_STOP_ALERT); alert->Go(); return; } @@ -1713,11 +1738,13 @@ BrowserWindow::_ShowBookmarks() status = be_roster->Launch(&ref); if (status != B_OK && status != B_ALREADY_RUNNING) { - BString message("There was an error trying to show the Bookmarks " - "folder.\n\n"); - message << "Error: " << strerror(status); - BAlert* alert = new BAlert("Bookmark error", message.String(), "OK", - NULL, NULL, B_WIDTH_AS_USUAL, B_STOP_ALERT); + BString message(B_TRANSLATE_COMMENT("There was an error trying to " + "show the Bookmarks folder.\n\nError: %error", "Don't translate variable " + "%error")); + message.ReplaceFirst("%error", strerror(status)); + BAlert* alert = new BAlert(B_TRANSLATE("Bookmark error"), + message.String(), B_TRANSLATE("OK"), NULL, NULL, + B_WIDTH_AS_USUAL, B_STOP_ALERT); alert->Go(); return; } @@ -1857,7 +1884,7 @@ BrowserWindow::_UpdateHistoryMenu() return; int32 count = history->CountItems(); - BMenuItem* clearHistoryItem = new BMenuItem("Clear history", + BMenuItem* clearHistoryItem = new BMenuItem(B_TRANSLATE("Clear history"), new BMessage(CLEAR_HISTORY)); clearHistoryItem->SetEnabled(count > 0); fHistoryMenu->AddItem(clearHistoryItem); @@ -1885,8 +1912,8 @@ BrowserWindow::_UpdateHistoryMenu() BDateTime fiveDaysAgoStart = fourDaysAgoStart; fiveDaysAgoStart.Date().AddDays(-1); - BMenu* todayMenu = new BMenu("Today"); - BMenu* yesterdayMenu = new BMenu("Yesterday"); + BMenu* todayMenu = new BMenu(B_TRANSLATE("Today")); + BMenu* yesterdayMenu = new BMenu(B_TRANSLATE("Yesterday")); BMenu* twoDaysAgoMenu = new BMenu( twoDaysAgoStart.Date().LongDayName().String()); BMenu* threeDaysAgoMenu = new BMenu( @@ -1895,7 +1922,7 @@ BrowserWindow::_UpdateHistoryMenu() fourDaysAgoStart.Date().LongDayName().String()); BMenu* fiveDaysAgoMenu = new BMenu( fiveDaysAgoStart.Date().LongDayName().String()); - BMenu* earlierMenu = new BMenu("Earlier"); + BMenu* earlierMenu = new BMenu(B_TRANSLATE("Earlier")); for (int32 i = 0; i < count; i++) { BrowsingHistoryItem historyItem = history->HistoryItemAt(i); @@ -2075,8 +2102,9 @@ void BrowserWindow::_ShowProgressBar(bool show) { if (show) { - if (!fStatusGroup->IsVisible() && (fVisibleInterfaceElements & INTERFACE_ELEMENT_STATUS) != 0) - fStatusGroup->SetVisible(true); + if (!fStatusGroup->IsVisible() && (fVisibleInterfaceElements + & INTERFACE_ELEMENT_STATUS) != 0) + fStatusGroup->SetVisible(true); fLoadingProgressBar->Show(); } else { if (!fInterfaceVisible) @@ -2130,7 +2158,7 @@ BrowserWindow::_SmartURLHandler(const BString& url) const { BString result = url; - // Only process if this doesn't look like a full URL (http:// or + // Only process if this doesn't look like a full URL (http:// or // file://, etc.) if (url.FindFirst("://") == B_ERROR) { if (url.FindFirst(".") == B_ERROR || url.FindFirst(" ") != B_ERROR) @@ -2207,7 +2235,8 @@ BrowserWindow::_HandlePageSourceResult(const BMessage* message) char buffer[1024]; snprintf(buffer, sizeof(buffer), "Failed to show the " "page source: %s\n", strerror(ret)); - BAlert* alert = new BAlert("Page source error", buffer, "OK"); + BAlert* alert = new BAlert(B_TRANSLATE("Page source error"), buffer, + B_TRANSLATE("OK")); alert->Go(NULL); } } diff --git a/src/apps/webpositive/DownloadProgressView.cpp b/src/apps/webpositive/DownloadProgressView.cpp index 7031e429c3..16c0ff103d 100644 --- a/src/apps/webpositive/DownloadProgressView.cpp +++ b/src/apps/webpositive/DownloadProgressView.cpp @@ -32,11 +32,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include #include #include @@ -51,6 +53,9 @@ #include "StringForSize.h" +#undef B_TRANSLATION_CONTEXT +#define B_TRANSLATION_CONTEXT "Download Window" + enum { OPEN_DOWNLOAD = 'opdn', RESTART_DOWNLOAD = 'rsdn', @@ -143,7 +148,8 @@ public: virtual BSize MinSize() { - return BSize(fIconBitmap.Bounds().Width(), fIconBitmap.Bounds().Height()); + return BSize(fIconBitmap.Bounds().Width(), + fIconBitmap.Bounds().Height()); } virtual BSize PreferredSize() @@ -218,8 +224,8 @@ DownloadProgressView::Init(BMessage* archive) fLastSpeedReferenceSize = 0; fEstimatedFinishReferenceSize = 0; - fProcessStartTime = fLastSpeedReferenceTime = fEstimatedFinishReferenceTime - = system_time(); + fProcessStartTime = fLastSpeedReferenceTime + = fEstimatedFinishReferenceTime = system_time(); SetViewColor(245, 245, 245); SetFlags(Flags() | B_FULL_UPDATE_ON_RESIZE | B_WILL_DRAW); @@ -245,16 +251,20 @@ DownloadProgressView::Init(BMessage* archive) } else fIconView = new IconView(); - if (!fDownload && (fStatusBar->CurrentValue() < 100 || !entry.Exists())) - fTopButton = new SmallButton("Restart", new BMessage(RESTART_DOWNLOAD)); - else { - fTopButton = new SmallButton("Open", new BMessage(OPEN_DOWNLOAD)); + if (!fDownload && (fStatusBar->CurrentValue() < 100 || !entry.Exists())) { + fTopButton = new SmallButton(B_TRANSLATE("Restart"), + new BMessage(RESTART_DOWNLOAD)); + } else { + fTopButton = new SmallButton(B_TRANSLATE("Open"), + new BMessage(OPEN_DOWNLOAD)); fTopButton->SetEnabled(fDownload == NULL); } - if (fDownload) - fBottomButton = new SmallButton("Cancel", new BMessage(CANCEL_DOWNLOAD)); - else { - fBottomButton = new SmallButton("Remove", new BMessage(REMOVE_DOWNLOAD)); + if (fDownload) { + fBottomButton = new SmallButton(B_TRANSLATE("Cancel"), + new BMessage(CANCEL_DOWNLOAD)); + } else { + fBottomButton = new SmallButton(B_TRANSLATE("Remove"), + new BMessage(REMOVE_DOWNLOAD)); fBottomButton->SetEnabled(fDownload == NULL); } @@ -399,8 +409,9 @@ DownloadProgressView::MessageReceived(BMessage* message) if (status == B_OK) status = be_roster->Launch(&ref); if (status != B_OK && status != B_ALREADY_RUNNING) { - BAlert* alert = new BAlert("Open download error", - "The download could not be opened.", "OK"); + BAlert* alert = new BAlert(B_TRANSLATE("Open download error"), + B_TRANSLATE("The download could not be opened."), + B_TRANSLATE("OK")); alert->Go(NULL); } break; @@ -572,11 +583,11 @@ DownloadProgressView::ShowContextMenu(BPoint screenWhere) screenWhere += BPoint(2, 2); BPopUpMenu* contextMenu = new BPopUpMenu("download context"); - BMenuItem* copyURL = new BMenuItem("Copy URL to clipboard", + BMenuItem* copyURL = new BMenuItem(B_TRANSLATE("Copy URL to clipboard"), new BMessage(COPY_URL_TO_CLIPBOARD)); copyURL->SetEnabled(fURL.Length() > 0); contextMenu->AddItem(copyURL); - BMenuItem* openFolder = new BMenuItem("Open containing folder", + BMenuItem* openFolder = new BMenuItem(B_TRANSLATE("Open containing folder"), new BMessage(OPEN_CONTAINING_FOLDER)); contextMenu->AddItem(openFolder); @@ -622,7 +633,7 @@ DownloadProgressView::DownloadFinished() fExpectedSize = fCurrentSize; } fTopButton->SetEnabled(true); - fBottomButton->SetLabel("Remove"); + fBottomButton->SetLabel(B_TRANSLATE("Remove")); fBottomButton->SetMessage(new BMessage(REMOVE_DOWNLOAD)); fBottomButton->SetEnabled(true); fInfoView->SetText(""); @@ -633,10 +644,10 @@ void DownloadProgressView::DownloadCanceled() { fDownload = NULL; - fTopButton->SetLabel("Restart"); + fTopButton->SetLabel(B_TRANSLATE("Restart")); fTopButton->SetMessage(new BMessage(RESTART_DOWNLOAD)); fTopButton->SetEnabled(true); - fBottomButton->SetLabel("Remove"); + fBottomButton->SetLabel(B_TRANSLATE("Remove")); fBottomButton->SetMessage(new BMessage(REMOVE_DOWNLOAD)); fBottomButton->SetEnabled(true); fInfoView->SetText(""); @@ -726,12 +737,14 @@ DownloadProgressView::_UpdateStatusText() currentSize.Truncate(currentSizeUnitPos); } buffer << currentSize; - buffer << " of "; + buffer << " "; + buffer << B_TRANSLATE_COMMENT("of", "...as in '12kB of 256kB'"); + buffer << " "; buffer << expectedSize; buffer << ", "; buffer << string_for_size(fBytesPerSecond, sizeBuffer, sizeof(sizeBuffer)); - buffer << "/s)"; + buffer << B_TRANSLATE_COMMENT("/s)", "...as in 'per second'"); float stringWidth = fInfoView->StringWidth(buffer.String()); if (stringWidth < fInfoView->Bounds().Width()) fInfoView->SetText(buffer.String()); @@ -739,7 +752,7 @@ DownloadProgressView::_UpdateStatusText() // complete string too wide, try with shorter version buffer << string_for_size(fBytesPerSecond, sizeBuffer, sizeof(sizeBuffer)); - buffer << "/s"; + buffer << B_TRANSLATE_COMMENT("/s)", "...as in 'per second'"); stringWidth = fInfoView->StringWidth(buffer.String()); if (stringWidth < fInfoView->Bounds().Width()) fInfoView->SetText(buffer.String()); @@ -770,7 +783,7 @@ DownloadProgressView::_UpdateStatusText() 2, time->tm_hour, 2, time->tm_min); } - BString buffer1("Finish: "); + BString buffer1(B_TRANSLATE_COMMENT("Finish: ", "Finishing time")); buffer1 << timeText; finishTime -= now; time = gmtime(&finishTime); @@ -779,30 +792,36 @@ DownloadProgressView::_UpdateStatusText() if (finishTime > secondsPerDay) { int64 days = finishTime / secondsPerDay; if (days == 1) - buffer2 << "Over 1 day"; - else - buffer2 << "Over " << days << " days"; + buffer2 << B_TRANSLATE("Over 1 day left"); + else { + buffer2 << B_TRANSLATE("Over %days days left"); + buffer2.ReplaceFirst("%days", BString() << days); + } } else if (finishTime > 60 * 60) { int64 hours = finishTime / (60 * 60); if (hours == 1) - buffer2 << "Over 1 hour"; - else - buffer2 << "Over " << hours << " hours"; + buffer2 << B_TRANSLATE("Over 1 hour left"); + else { + buffer2 << B_TRANSLATE("Over %hours hours left"); + buffer2.ReplaceFirst("%hours", BString() << hours); + } } else if (finishTime > 60) { int64 minutes = finishTime / 60; if (minutes == 1) - buffer2 << "Over 1 minute"; - else - buffer2 << minutes << " minutes"; + buffer2 << B_TRANSLATE("Over 1 minute left"); + else { + buffer2 << B_TRANSLATE("%minutes minutes"); + buffer2.ReplaceFirst("%minutes", BString() << minutes); + } } else { if (finishTime == 1) - buffer2 << "1 second"; - else - buffer2 << finishTime << " seconds"; + buffer2 << B_TRANSLATE("1 second left"); + else { + buffer2 << B_TRANSLATE("%seconds seconds left"); + buffer2.ReplaceFirst("%seconds", BString() << finishTime); + } } - buffer2 << " left"; - buffer = "("; buffer << buffer1 << " - " << buffer2 << ")"; diff --git a/src/apps/webpositive/DownloadWindow.cpp b/src/apps/webpositive/DownloadWindow.cpp index 859722df47..72c7663697 100644 --- a/src/apps/webpositive/DownloadWindow.cpp +++ b/src/apps/webpositive/DownloadWindow.cpp @@ -31,12 +31,14 @@ #include #include +#include #include #include #include #include #include #include +#include #include #include #include @@ -54,6 +56,9 @@ #include "WebPage.h" +#undef B_TRANSLATION_CONTEXT +#define B_TRANSLATION_CONTEXT "Download Window" + enum { INIT = 'init', OPEN_DOWNLOADS_FOLDER = 'odnf', @@ -134,7 +139,7 @@ protected: DownloadWindow::DownloadWindow(BRect frame, bool visible, SettingsMessage* settings) - : BWindow(frame, "Downloads", + : BWindow(frame, B_TRANSLATE("Downloads"), B_TITLED_WINDOW_LOOK, B_NORMAL_WINDOW_FEEL, B_AUTO_UPDATE_SIZE_LIMITS | B_ASYNCHRONOUS_CONTROLS | B_NOT_ZOOMABLE), fMinimizeOnClose(false) @@ -155,26 +160,27 @@ DownloadWindow::DownloadWindow(BRect frame, bool visible, fDownloadViewsLayout = downloadsGroupView->GroupLayout(); BMenuBar* menuBar = new BMenuBar("Menu bar"); - BMenu* menu = new BMenu("Downloads"); - menu->AddItem(new BMenuItem("Open downloads folder", + BMenu* menu = new BMenu(B_TRANSLATE("Downloads")); + menu->AddItem(new BMenuItem(B_TRANSLATE("Open downloads folder"), new BMessage(OPEN_DOWNLOADS_FOLDER))); BMessage* newWindowMessage = new BMessage(NEW_WINDOW); newWindowMessage->AddString("url", ""); - BMenuItem* newWindowItem = new BMenuItem("New browser window", + BMenuItem* newWindowItem = new BMenuItem(B_TRANSLATE("New browser window"), newWindowMessage, 'N'); menu->AddItem(newWindowItem); newWindowItem->SetTarget(be_app); menu->AddSeparatorItem(); - menu->AddItem(new BMenuItem("Hide", new BMessage(B_QUIT_REQUESTED), 'D')); + menu->AddItem(new BMenuItem(B_TRANSLATE("Hide"), + new BMessage(B_QUIT_REQUESTED), 'D')); menuBar->AddItem(menu); fDownloadsScrollView = new DownloadContainerScrollView(downloadsGroupView); - fRemoveFinishedButton = new BButton("Remove finished", + fRemoveFinishedButton = new BButton(B_TRANSLATE("Remove finished"), new BMessage(REMOVE_FINISHED_DOWNLOADS)); fRemoveFinishedButton->SetEnabled(false); - fRemoveMissingButton = new BButton("Remove missing", + fRemoveMissingButton = new BButton(B_TRANSLATE("Remove missing"), new BMessage(REMOVE_MISSING_DOWNLOADS)); fRemoveMissingButton->SetEnabled(false); @@ -274,11 +280,12 @@ DownloadWindow::MessageReceived(BMessage* message) if (status == B_OK) status = be_roster->Launch(&ref); if (status != B_OK && status != B_ALREADY_RUNNING) { - BString errorString("The downloads folder could not be " - "opened.\n\n"); - errorString << "Error: " << strerror(status); - BAlert* alert = new BAlert("Error opening downloads folder", - errorString.String(), "OK"); + BString errorString(B_TRANSLATE_COMMENT("The downloads folder could " + "not be opened.\n\nError: %error", "Don't translate " + "variable %error")); + errorString.ReplaceFirst("%error", strerror(status)); + BAlert* alert = new BAlert(B_TRANSLATE("Error opening downloads " + "folder"), errorString.String(), B_TRANSLATE("OK")); alert->Go(NULL); } break; @@ -528,9 +535,10 @@ DownloadWindow::_SaveSettings() item->View()); if (!view) continue; - BMessage downloadArchive; - if (view->SaveSettings(&downloadArchive) == B_OK) - message.AddMessage("download", &downloadArchive); + + BMessage downloadArchive; + if (view->SaveSettings(&downloadArchive) == B_OK) + message.AddMessage("download", &downloadArchive); } message.Flatten(&file); } diff --git a/src/apps/webpositive/URLInputGroup.cpp b/src/apps/webpositive/URLInputGroup.cpp index f84f0e12bf..421d78fa64 100644 --- a/src/apps/webpositive/URLInputGroup.cpp +++ b/src/apps/webpositive/URLInputGroup.cpp @@ -7,10 +7,12 @@ #include #include +#include #include #include #include #include +#include #include #include #include @@ -28,6 +30,10 @@ #include "TextViewCompleter.h" +#undef B_TRANSLATION_CONTEXT +#define B_TRANSLATION_CONTEXT "URL Bar" + + class URLChoice : public BAutoCompleter::Choice { public: URLChoice(const BString& choiceText, const BString& displayText, @@ -235,10 +241,14 @@ URLInputGroup::URLTextView::MouseDown(BPoint where) be_clipboard->Unlock(); } - BMenuItem* cutItem = new BMenuItem("Cut", new BMessage(B_CUT)); - BMenuItem* copyItem = new BMenuItem("Copy", new BMessage(B_COPY)); - BMenuItem* pasteItem = new BMenuItem("Paste", new BMessage(B_PASTE)); - BMenuItem* clearItem = new BMenuItem("Clear", new BMessage(MSG_CLEAR)); + BMenuItem* cutItem = new BMenuItem(B_TRANSLATE("Cut"), + new BMessage(B_CUT)); + BMenuItem* copyItem = new BMenuItem(B_TRANSLATE("Copy"), + new BMessage(B_COPY)); + BMenuItem* pasteItem = new BMenuItem(B_TRANSLATE("Paste"), + new BMessage(B_PASTE)); + BMenuItem* clearItem = new BMenuItem(B_TRANSLATE("Clear"), + new BMessage(MSG_CLEAR)); cutItem->SetEnabled(canCutOrCopy); copyItem->SetEnabled(canCutOrCopy); pasteItem->SetEnabled(canPaste); @@ -362,8 +372,8 @@ URLInputGroup::URLTextView::InsertText(const char* inText, int32 inLength, baseUrlEnd = TextLength(); BFont font; GetFont(&font); - const rgb_color black = (rgb_color){ 0, 0, 0, 255 }; - const rgb_color gray = (rgb_color){ 60, 60, 60, 255 }; + const rgb_color black = (rgb_color) { 0, 0, 0, 255 }; + const rgb_color gray = (rgb_color) { 60, 60, 60, 255 }; if (baseUrlStart > 0) SetFontAndColor(0, baseUrlStart - 1, &font, B_FONT_ALL, &gray); if (baseUrlEnd > baseUrlStart) { From dfa21dfeabe22cd7df5de50e21bf1ad3678454b8 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Wed, 11 Jul 2012 19:10:32 -0400 Subject: [PATCH 12/18] Fix #8508. - When attempting to unwind the call frame, we now search for the appropriate FDE in both .debug_frame and .eh_frame. This mirrors gdb's behavior and works around the ever-changing whims of the gcc developers as to which section the requisite FDE/CIE resides in. --- .../debug_info/DwarfImageDebugInfo.cpp | 19 ++++- src/apps/debugger/dwarf/DwarfFile.cpp | 77 +++++++++---------- src/apps/debugger/dwarf/DwarfFile.h | 18 ++++- 3 files changed, 68 insertions(+), 46 deletions(-) diff --git a/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp b/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp index 7731e5ae88..f24f9b1299 100644 --- a/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp +++ b/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp @@ -1,5 +1,6 @@ /* * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. + * Copyright 2012, Rene Gollent, rene@gollent.com. * Distributed under the terms of the MIT License. */ @@ -554,8 +555,22 @@ DwarfImageDebugInfo::CreateFrame(Image* image, = cpuState->InstructionPointer() - fRelocationDelta; target_addr_t framePointer; CompilationUnit* unit = function->GetCompilationUnit(); - error = fFile->UnwindCallFrame(unit, function->SubprogramEntry(), - instructionPointer, inputInterface, outputInterface, framePointer); + // first try .debug_frame + if (fFile->HasDebugFrameSection()) { + error = fFile->UnwindCallFrame(false, unit, + function->SubprogramEntry(), instructionPointer, inputInterface, + outputInterface, framePointer); + } else + error = B_ENTRY_NOT_FOUND; + + // if that section isn't present, or we couldn't find a match, + // try .eh_frame if possible. + if (error == B_ENTRY_NOT_FOUND && fFile->HasEHFrameSection()) { + error = fFile->UnwindCallFrame(true, unit, + function->SubprogramEntry(), instructionPointer, inputInterface, + outputInterface, framePointer); + } + if (error != B_OK) { TRACE_CFI("Failed to unwind call frame: %s\n", strerror(error)); return B_UNSUPPORTED; diff --git a/src/apps/debugger/dwarf/DwarfFile.cpp b/src/apps/debugger/dwarf/DwarfFile.cpp index 49b5a9c6da..aee71b4ce9 100644 --- a/src/apps/debugger/dwarf/DwarfFile.cpp +++ b/src/apps/debugger/dwarf/DwarfFile.cpp @@ -1,5 +1,6 @@ /* * Copyright 2009-2010, Ingo Weinhold, ingo_weinhold@gmx.de. + * Copyright 2012, Rene Gollent, rene@gollent.com. * Distributed under the terms of the MIT License. */ @@ -287,12 +288,11 @@ DwarfFile::DwarfFile() fDebugRangesSection(NULL), fDebugLineSection(NULL), fDebugFrameSection(NULL), + fEHFrameSection(NULL), fDebugLocationSection(NULL), fDebugPublicTypesSection(NULL), fCompilationUnits(20, true), fCurrentCompilationUnit(NULL), - fUsingEHFrameSection(false), - fGCC4EHFrameSection(false), fFinished(false), fFinishError(B_OK) { @@ -311,6 +311,7 @@ DwarfFile::~DwarfFile() fElfFile->PutSection(fDebugRangesSection); fElfFile->PutSection(fDebugLineSection); fElfFile->PutSection(fDebugFrameSection); + fElfFile->PutSection(fEHFrameSection); fElfFile->PutSection(fDebugLocationSection); fElfFile->PutSection(fDebugPublicTypesSection); delete fElfFile; @@ -350,26 +351,7 @@ DwarfFile::Load(const char* fileName) fDebugRangesSection = fElfFile->GetSection(".debug_ranges"); fDebugLineSection = fElfFile->GetSection(".debug_line"); fDebugFrameSection = fElfFile->GetSection(".debug_frame"); - ElfSection* ehFrameSection = fElfFile->GetSection(".eh_frame"); - if (fDebugFrameSection != NULL && ehFrameSection != NULL) { - if (ehFrameSection->Size() > fDebugFrameSection->Size()) { - fElfFile->PutSection(fDebugFrameSection); - fDebugFrameSection = ehFrameSection; - fUsingEHFrameSection = true; - } else - fElfFile->PutSection(ehFrameSection); - } else if (ehFrameSection != NULL) { - fDebugFrameSection = ehFrameSection; - fUsingEHFrameSection = true; - } - - if (fUsingEHFrameSection) { - fGCC4EHFrameSection = !fDebugFrameSection->IsWritable(); - // Crude heuristic for recognizing GCC 4 (Itanium ABI) style - // .eh_frame sections. The ones generated by GCC 2 are writable, - // the ones generated by GCC 4 aren't. - } - + fEHFrameSection = fElfFile->GetSection(".eh_frame"); fDebugLocationSection = fElfFile->GetSection(".debug_loc"); fDebugPublicTypesSection = fElfFile->GetSection(".debug_pubtypes"); @@ -553,18 +535,31 @@ DwarfFile::ResolveRangeList(CompilationUnit* unit, uint64 offset) const status_t -DwarfFile::UnwindCallFrame(CompilationUnit* unit, +DwarfFile::UnwindCallFrame(bool usingEHFrameSection, CompilationUnit* unit, DIESubprogram* subprogramEntry, target_addr_t location, const DwarfTargetInterface* inputInterface, DwarfTargetInterface* outputInterface, target_addr_t& _framePointer) { - if (fDebugFrameSection == NULL) + ElfSection* currentFrameSection = (usingEHFrameSection) + ? fEHFrameSection : fDebugFrameSection; + + if (currentFrameSection == NULL) return B_ENTRY_NOT_FOUND; + bool gcc4EHFrameSection = false; + if (usingEHFrameSection) { + gcc4EHFrameSection = !currentFrameSection->IsWritable(); + // Crude heuristic for recognizing GCC 4 (Itanium ABI) style + // .eh_frame sections. The ones generated by GCC 2 are writable, + // the ones generated by GCC 4 aren't. + } + + + TRACE_CFI("DwarfFile::UnwindCallFrame(%#llx)\n", location); - DataReader dataReader((uint8*)fDebugFrameSection->Data(), - fDebugFrameSection->Size(), unit->AddressSize()); + DataReader dataReader((uint8*)currentFrameSection->Data(), + currentFrameSection->Size(), unit->AddressSize()); while (dataReader.BytesRemaining() > 0) { // length @@ -584,7 +579,7 @@ DwarfFile::UnwindCallFrame(CompilationUnit* unit, ? dataReader.Read(0) : dataReader.Read(0); // In .debug_frame ~0 indicates a CIE, in .eh_frame 0 does. - if (fUsingEHFrameSection + if (usingEHFrameSection ? cieID == 0 : (dwarf64 ? cieID == 0xffffffffffffffffULL @@ -601,16 +596,16 @@ DwarfFile::UnwindCallFrame(CompilationUnit* unit, // In the GCC 4 .eh_frame initialLocation is relative to the offset // of the address. - if (fUsingEHFrameSection && fGCC4EHFrameSection) { + if (usingEHFrameSection && gcc4EHFrameSection) { // Note: We need to cast to the exact address width, since the // initialLocation value can be (and likely is) negative. if (dwarf64) { - initialLocation = (uint64)fDebugFrameSection->LoadAddress() - + (uint64)initialLocationOffset + initialLocation = (uint64)currentFrameSection + ->LoadAddress() + (uint64)initialLocationOffset + (uint64)initialLocation; } else { - initialLocation = (uint32)fDebugFrameSection->LoadAddress() - + (uint32)initialLocationOffset + initialLocation = (uint32)currentFrameSection + ->LoadAddress() + (uint32)initialLocationOffset + (uint32)initialLocation; } } @@ -634,7 +629,7 @@ DwarfFile::UnwindCallFrame(CompilationUnit* unit, return B_BAD_DATA; // In .eh_frame the CIE offset is a relative back offset. - if (fUsingEHFrameSection) { + if (usingEHFrameSection) { if (cieID > (uint64)lengthOffset) { TRACE_CFI("Invalid CIE offset: %" B_PRIu64 ", max " "possible: %" B_PRIu64 "\n", cieID, lengthOffset); @@ -660,7 +655,8 @@ DwarfFile::UnwindCallFrame(CompilationUnit* unit, // process the CIE CIEAugmentation cieAugmentation; - error = _ParseCIE(unit, context, cieID, cieAugmentation); + error = _ParseCIE(currentFrameSection, usingEHFrameSection, + unit, context, cieID, cieAugmentation); if (error != B_OK) return error; @@ -1554,14 +1550,15 @@ DwarfFile::_ParseLineInfo(CompilationUnit* unit) status_t -DwarfFile::_ParseCIE(CompilationUnit* unit, CfaContext& context, - off_t cieOffset, CIEAugmentation& cieAugmentation) +DwarfFile::_ParseCIE(ElfSection* debugFrameSection, bool usingEHFrameSection, + CompilationUnit* unit, CfaContext& context, off_t cieOffset, + CIEAugmentation& cieAugmentation) { - if (cieOffset < 0 || cieOffset >= fDebugFrameSection->Size()) + if (cieOffset < 0 || cieOffset >= debugFrameSection->Size()) return B_BAD_DATA; - DataReader dataReader((uint8*)fDebugFrameSection->Data() + cieOffset, - fDebugFrameSection->Size() - cieOffset, unit->AddressSize()); + DataReader dataReader((uint8*)debugFrameSection->Data() + cieOffset, + debugFrameSection->Size() - cieOffset, unit->AddressSize()); // length bool dwarf64; @@ -1573,7 +1570,7 @@ DwarfFile::_ParseCIE(CompilationUnit* unit, CfaContext& context, // CIE ID/CIE pointer uint64 cieID = dwarf64 ? dataReader.Read(0) : dataReader.Read(0); - if (fUsingEHFrameSection) { + if (usingEHFrameSection) { if (cieID != 0) return B_BAD_DATA; } else { diff --git a/src/apps/debugger/dwarf/DwarfFile.h b/src/apps/debugger/dwarf/DwarfFile.h index f4d5281862..a7afede41f 100644 --- a/src/apps/debugger/dwarf/DwarfFile.h +++ b/src/apps/debugger/dwarf/DwarfFile.h @@ -1,5 +1,6 @@ /* * Copyright 2009-2010, Ingo Weinhold, ingo_weinhold@gmx.de. + * Copyright 2012, Rene Gollent, rene@gollent.com. * Distributed under the terms of the MIT License. */ #ifndef DWARF_FILE_H @@ -38,6 +39,13 @@ public: const char* Name() const { return fName; } ElfFile* GetElfFile() const { return fElfFile; } + bool HasDebugFrameSection() const { + return fDebugFrameSection != NULL; + } + bool HasEHFrameSection() const { + return fEHFrameSection != NULL; + } + int32 CountCompilationUnits() const; CompilationUnit* CompilationUnitAt(int32 index) const; CompilationUnit* CompilationUnitForDIE( @@ -46,7 +54,8 @@ public: TargetAddressRangeList* ResolveRangeList(CompilationUnit* unit, uint64 offset) const; - status_t UnwindCallFrame(CompilationUnit* unit, + status_t UnwindCallFrame(bool usingEHFrameSection, + CompilationUnit* unit, DIESubprogram* subprogramEntry, target_addr_t location, const DwarfTargetInterface* inputInterface, @@ -112,7 +121,9 @@ private: status_t _ParseLineInfo(CompilationUnit* unit); - status_t _ParseCIE(CompilationUnit* unit, + status_t _ParseCIE(ElfSection* debugFrameSection, + bool usingEHFrameSection, + CompilationUnit* unit, CfaContext& context, off_t cieOffset, CIEAugmentation& cieAugmentation); status_t _ParseFrameInfoInstructions( @@ -151,14 +162,13 @@ private: ElfSection* fDebugRangesSection; ElfSection* fDebugLineSection; ElfSection* fDebugFrameSection; + ElfSection* fEHFrameSection; ElfSection* fDebugLocationSection; ElfSection* fDebugPublicTypesSection; AbbreviationTableList fAbbreviationTables; DebugInfoEntryFactory fDebugInfoFactory; CompilationUnitList fCompilationUnits; CompilationUnit* fCurrentCompilationUnit; - bool fUsingEHFrameSection; - bool fGCC4EHFrameSection; bool fFinished; status_t fFinishError; }; From c4120026a5c8c365a57917ea923779c07df9aea0 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Wed, 11 Jul 2012 21:56:15 -0400 Subject: [PATCH 13/18] Refactor previous commit. - Keep knowledge of the existence and need to search the different frame sections contained within DwarfFile. --- .../debug_info/DwarfImageDebugInfo.cpp | 17 +- src/apps/debugger/dwarf/DwarfFile.cpp | 577 +++++++++--------- src/apps/debugger/dwarf/DwarfFile.h | 18 +- 3 files changed, 311 insertions(+), 301 deletions(-) diff --git a/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp b/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp index f24f9b1299..4a9b5c5af6 100644 --- a/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp +++ b/src/apps/debugger/debug_info/DwarfImageDebugInfo.cpp @@ -555,21 +555,8 @@ DwarfImageDebugInfo::CreateFrame(Image* image, = cpuState->InstructionPointer() - fRelocationDelta; target_addr_t framePointer; CompilationUnit* unit = function->GetCompilationUnit(); - // first try .debug_frame - if (fFile->HasDebugFrameSection()) { - error = fFile->UnwindCallFrame(false, unit, - function->SubprogramEntry(), instructionPointer, inputInterface, - outputInterface, framePointer); - } else - error = B_ENTRY_NOT_FOUND; - - // if that section isn't present, or we couldn't find a match, - // try .eh_frame if possible. - if (error == B_ENTRY_NOT_FOUND && fFile->HasEHFrameSection()) { - error = fFile->UnwindCallFrame(true, unit, - function->SubprogramEntry(), instructionPointer, inputInterface, - outputInterface, framePointer); - } + error = fFile->UnwindCallFrame(unit, function->SubprogramEntry(), + instructionPointer, inputInterface, outputInterface, framePointer); if (error != B_OK) { TRACE_CFI("Failed to unwind call frame: %s\n", strerror(error)); diff --git a/src/apps/debugger/dwarf/DwarfFile.cpp b/src/apps/debugger/dwarf/DwarfFile.cpp index aee71b4ce9..f07f10ae2a 100644 --- a/src/apps/debugger/dwarf/DwarfFile.cpp +++ b/src/apps/debugger/dwarf/DwarfFile.cpp @@ -535,292 +535,27 @@ DwarfFile::ResolveRangeList(CompilationUnit* unit, uint64 offset) const status_t -DwarfFile::UnwindCallFrame(bool usingEHFrameSection, CompilationUnit* unit, +DwarfFile::UnwindCallFrame(CompilationUnit* unit, DIESubprogram* subprogramEntry, target_addr_t location, const DwarfTargetInterface* inputInterface, DwarfTargetInterface* outputInterface, target_addr_t& _framePointer) { - ElfSection* currentFrameSection = (usingEHFrameSection) - ? fEHFrameSection : fDebugFrameSection; + status_t result = B_ENTRY_NOT_FOUND; - if (currentFrameSection == NULL) - return B_ENTRY_NOT_FOUND; - - bool gcc4EHFrameSection = false; - if (usingEHFrameSection) { - gcc4EHFrameSection = !currentFrameSection->IsWritable(); - // Crude heuristic for recognizing GCC 4 (Itanium ABI) style - // .eh_frame sections. The ones generated by GCC 2 are writable, - // the ones generated by GCC 4 aren't. + // first try to find the FDE in .debug_frame + if (fDebugFrameSection != NULL) { + result = _UnwindCallFrame(false, unit, subprogramEntry, location, + inputInterface, outputInterface, _framePointer); } - - - TRACE_CFI("DwarfFile::UnwindCallFrame(%#llx)\n", location); - - DataReader dataReader((uint8*)currentFrameSection->Data(), - currentFrameSection->Size(), unit->AddressSize()); - - while (dataReader.BytesRemaining() > 0) { - // length - bool dwarf64; - TRACE_CFI_ONLY(off_t entryOffset = dataReader.Offset();) - uint64 length = dataReader.ReadInitialLength(dwarf64); - - TRACE_CFI("DwarfFile::UnwindCallFrame(): offset: %" B_PRIdOFF - ", length: %" B_PRId64 "\n", entryOffset, length); - - if (length > (uint64)dataReader.BytesRemaining()) - return B_BAD_DATA; - off_t lengthOffset = dataReader.Offset(); - - // CIE ID/CIE pointer - uint64 cieID = dwarf64 - ? dataReader.Read(0) : dataReader.Read(0); - - // In .debug_frame ~0 indicates a CIE, in .eh_frame 0 does. - if (usingEHFrameSection - ? cieID == 0 - : (dwarf64 - ? cieID == 0xffffffffffffffffULL - : cieID == 0xffffffff)) { - // this is a CIE -- skip it - } else { - // this is a FDE - uint64 initialLocationOffset = dataReader.Offset(); - target_addr_t initialLocation = dataReader.ReadAddress(0); - target_size_t addressRange = dataReader.ReadAddress(0); - - if (dataReader.HasOverflow()) - return B_BAD_DATA; - - // In the GCC 4 .eh_frame initialLocation is relative to the offset - // of the address. - if (usingEHFrameSection && gcc4EHFrameSection) { - // Note: We need to cast to the exact address width, since the - // initialLocation value can be (and likely is) negative. - if (dwarf64) { - initialLocation = (uint64)currentFrameSection - ->LoadAddress() + (uint64)initialLocationOffset - + (uint64)initialLocation; - } else { - initialLocation = (uint32)currentFrameSection - ->LoadAddress() + (uint32)initialLocationOffset - + (uint32)initialLocation; - } - } - // TODO: For GCC 2 .eh_frame sections things work differently: The - // initial locations are relocated by the runtime loader and - // afterwards point to the absolute addresses. Fortunately the - // relocations that always seem to be used are R_386_RELATIVE, so - // that the value we read from the file is already absolute - // (assuming an unchanged segment load address). - - TRACE_CFI("location: %" B_PRIx64 ", initial location: %" B_PRIx64 - ", address range: %" B_PRIx64 "\n", location, initialLocation, - addressRange); - - if (location >= initialLocation - && location < initialLocation + addressRange) { - // This is the FDE we're looking for. - off_t remaining = lengthOffset + length - - dataReader.Offset(); - if (remaining < 0) - return B_BAD_DATA; - - // In .eh_frame the CIE offset is a relative back offset. - if (usingEHFrameSection) { - if (cieID > (uint64)lengthOffset) { - TRACE_CFI("Invalid CIE offset: %" B_PRIu64 ", max " - "possible: %" B_PRIu64 "\n", cieID, lengthOffset); - break; - } - // convert to a section relative offset - cieID = lengthOffset - cieID; - } - - TRACE_CFI(" found fde: length: %llu (%lld), CIE offset: %#llx, " - "location: %#llx, range: %#llx\n", length, remaining, cieID, - initialLocation, addressRange); - - CfaContext context(location, initialLocation); - uint32 registerCount = outputInterface->CountRegisters(); - status_t error = context.Init(registerCount); - if (error != B_OK) - return error; - - error = outputInterface->InitRegisterRules(context); - if (error != B_OK) - return error; - - // process the CIE - CIEAugmentation cieAugmentation; - error = _ParseCIE(currentFrameSection, usingEHFrameSection, - unit, context, cieID, cieAugmentation); - if (error != B_OK) - return error; - - // read the FDE augmentation data (if any) - FDEAugmentation fdeAugmentation; - error = cieAugmentation.ReadFDEData(dataReader, - fdeAugmentation); - if (error != B_OK) { - TRACE_CFI(" failed to read FDE augmentation data!\n"); - return error; - } - // adjust remaining byte count to take augmentation bytes - // (if any) into account. - remaining = lengthOffset + length - - dataReader.Offset(); - - error = context.SaveInitialRuleSet(); - if (error != B_OK) - return error; - - DataReader restrictedReader = - dataReader.RestrictedReader(remaining); - error = _ParseFrameInfoInstructions(unit, context, - restrictedReader); - if (error != B_OK) - return error; - - TRACE_CFI(" found row!\n"); - - // apply the rules of the final row - // get the frameAddress first - target_addr_t frameAddress; - CfaCfaRule* cfaCfaRule = context.GetCfaCfaRule(); - switch (cfaCfaRule->Type()) { - case CFA_CFA_RULE_REGISTER_OFFSET: - { - BVariant value; - if (!inputInterface->GetRegisterValue( - cfaCfaRule->Register(), value) - || !value.IsNumber()) { - return B_UNSUPPORTED; - } - frameAddress = value.ToUInt64() + cfaCfaRule->Offset(); - break; - } - case CFA_CFA_RULE_EXPRESSION: - { - error = EvaluateExpression(unit, subprogramEntry, - cfaCfaRule->Expression().block, - cfaCfaRule->Expression().size, - inputInterface, location, 0, 0, false, - frameAddress); - if (error != B_OK) - return error; - break; - } - case CFA_CFA_RULE_UNDEFINED: - default: - return B_BAD_VALUE; - } - - TRACE_CFI(" frame address: %#llx\n", frameAddress); - - // apply the register rules - for (uint32 i = 0; i < registerCount; i++) { - TRACE_CFI(" reg %lu\n", i); - - uint32 valueType = outputInterface->RegisterValueType(i); - if (valueType == 0) - continue; - - CfaRule* rule = context.RegisterRule(i); - if (rule == NULL) - continue; - - // apply the rule - switch (rule->Type()) { - case CFA_RULE_SAME_VALUE: - { - TRACE_CFI(" -> CFA_RULE_SAME_VALUE\n"); - - BVariant value; - if (inputInterface->GetRegisterValue(i, value)) - outputInterface->SetRegisterValue(i, value); - break; - } - case CFA_RULE_LOCATION_OFFSET: - { - TRACE_CFI(" -> CFA_RULE_LOCATION_OFFSET: %lld\n", - rule->Offset()); - - BVariant value; - if (inputInterface->ReadValueFromMemory( - frameAddress + rule->Offset(), valueType, - value)) { - outputInterface->SetRegisterValue(i, value); - } - break; - } - case CFA_RULE_VALUE_OFFSET: - TRACE_CFI(" -> CFA_RULE_VALUE_OFFSET\n"); - - outputInterface->SetRegisterValue(i, - frameAddress + rule->Offset()); - break; - case CFA_RULE_REGISTER: - { - TRACE_CFI(" -> CFA_RULE_REGISTER\n"); - - BVariant value; - if (inputInterface->GetRegisterValue( - rule->Register(), value)) { - outputInterface->SetRegisterValue(i, value); - } - break; - } - case CFA_RULE_LOCATION_EXPRESSION: - { - TRACE_CFI(" -> CFA_RULE_LOCATION_EXPRESSION\n"); - - target_addr_t address; - error = EvaluateExpression(unit, subprogramEntry, - rule->Expression().block, - rule->Expression().size, - inputInterface, location, frameAddress, - frameAddress, true, address); - BVariant value; - if (error == B_OK - && inputInterface->ReadValueFromMemory(address, - valueType, value)) { - outputInterface->SetRegisterValue(i, value); - } - break; - } - case CFA_RULE_VALUE_EXPRESSION: - { - TRACE_CFI(" -> CFA_RULE_VALUE_EXPRESSION\n"); - - target_addr_t value; - error = EvaluateExpression(unit, subprogramEntry, - rule->Expression().block, - rule->Expression().size, - inputInterface, location, frameAddress, - frameAddress, true, value); - if (error == B_OK) - outputInterface->SetRegisterValue(i, value); - break; - } - case CFA_RULE_UNDEFINED: - TRACE_CFI(" -> CFA_RULE_UNDEFINED\n"); - default: - break; - } - } - - _framePointer = frameAddress; - return B_OK; - } - } - - dataReader.SeekAbsolute(lengthOffset + length); + // if .debug_frame isn't present, or if the FDE wasn't found there, + // try .eh_frame + if (result == B_ENTRY_NOT_FOUND && fEHFrameSection != NULL) { + result = _UnwindCallFrame(true, unit, subprogramEntry, location, + inputInterface, outputInterface, _framePointer); } - return B_ENTRY_NOT_FOUND; + return result; } @@ -1549,6 +1284,294 @@ DwarfFile::_ParseLineInfo(CompilationUnit* unit) } +status_t +DwarfFile::_UnwindCallFrame(bool usingEHFrameSection, CompilationUnit* unit, + DIESubprogram* subprogramEntry, target_addr_t location, + const DwarfTargetInterface* inputInterface, + DwarfTargetInterface* outputInterface, target_addr_t& _framePointer) +{ + ElfSection* currentFrameSection = (usingEHFrameSection) + ? fEHFrameSection : fDebugFrameSection; + + if (currentFrameSection == NULL) + return B_ENTRY_NOT_FOUND; + + bool gcc4EHFrameSection = false; + if (usingEHFrameSection) { + gcc4EHFrameSection = !currentFrameSection->IsWritable(); + // Crude heuristic for recognizing GCC 4 (Itanium ABI) style + // .eh_frame sections. The ones generated by GCC 2 are writable, + // the ones generated by GCC 4 aren't. + } + + TRACE_CFI("DwarfFile::_UnwindCallFrame(%#llx)\n", location); + + DataReader dataReader((uint8*)currentFrameSection->Data(), + currentFrameSection->Size(), unit->AddressSize()); + + while (dataReader.BytesRemaining() > 0) { + // length + bool dwarf64; + TRACE_CFI_ONLY(off_t entryOffset = dataReader.Offset();) + uint64 length = dataReader.ReadInitialLength(dwarf64); + + TRACE_CFI("DwarfFile::_UnwindCallFrame(): offset: %" B_PRIdOFF + ", length: %" B_PRId64 "\n", entryOffset, length); + + if (length > (uint64)dataReader.BytesRemaining()) + return B_BAD_DATA; + off_t lengthOffset = dataReader.Offset(); + + // CIE ID/CIE pointer + uint64 cieID = dwarf64 + ? dataReader.Read(0) : dataReader.Read(0); + + // In .debug_frame ~0 indicates a CIE, in .eh_frame 0 does. + if (usingEHFrameSection + ? cieID == 0 + : (dwarf64 + ? cieID == 0xffffffffffffffffULL + : cieID == 0xffffffff)) { + // this is a CIE -- skip it + } else { + // this is a FDE + uint64 initialLocationOffset = dataReader.Offset(); + target_addr_t initialLocation = dataReader.ReadAddress(0); + target_size_t addressRange = dataReader.ReadAddress(0); + + if (dataReader.HasOverflow()) + return B_BAD_DATA; + + // In the GCC 4 .eh_frame initialLocation is relative to the offset + // of the address. + if (usingEHFrameSection && gcc4EHFrameSection) { + // Note: We need to cast to the exact address width, since the + // initialLocation value can be (and likely is) negative. + if (dwarf64) { + initialLocation = (uint64)currentFrameSection + ->LoadAddress() + (uint64)initialLocationOffset + + (uint64)initialLocation; + } else { + initialLocation = (uint32)currentFrameSection + ->LoadAddress() + (uint32)initialLocationOffset + + (uint32)initialLocation; + } + } + // TODO: For GCC 2 .eh_frame sections things work differently: The + // initial locations are relocated by the runtime loader and + // afterwards point to the absolute addresses. Fortunately the + // relocations that always seem to be used are R_386_RELATIVE, so + // that the value we read from the file is already absolute + // (assuming an unchanged segment load address). + + TRACE_CFI("location: %" B_PRIx64 ", initial location: %" B_PRIx64 + ", address range: %" B_PRIx64 "\n", location, initialLocation, + addressRange); + + if (location >= initialLocation + && location < initialLocation + addressRange) { + // This is the FDE we're looking for. + off_t remaining = lengthOffset + length + - dataReader.Offset(); + if (remaining < 0) + return B_BAD_DATA; + + // In .eh_frame the CIE offset is a relative back offset. + if (usingEHFrameSection) { + if (cieID > (uint64)lengthOffset) { + TRACE_CFI("Invalid CIE offset: %" B_PRIu64 ", max " + "possible: %" B_PRIu64 "\n", cieID, lengthOffset); + break; + } + // convert to a section relative offset + cieID = lengthOffset - cieID; + } + + TRACE_CFI(" found fde: length: %llu (%lld), CIE offset: %#llx, " + "location: %#llx, range: %#llx\n", length, remaining, cieID, + initialLocation, addressRange); + + CfaContext context(location, initialLocation); + uint32 registerCount = outputInterface->CountRegisters(); + status_t error = context.Init(registerCount); + if (error != B_OK) + return error; + + error = outputInterface->InitRegisterRules(context); + if (error != B_OK) + return error; + + // process the CIE + CIEAugmentation cieAugmentation; + error = _ParseCIE(currentFrameSection, usingEHFrameSection, + unit, context, cieID, cieAugmentation); + if (error != B_OK) + return error; + + // read the FDE augmentation data (if any) + FDEAugmentation fdeAugmentation; + error = cieAugmentation.ReadFDEData(dataReader, + fdeAugmentation); + if (error != B_OK) { + TRACE_CFI(" failed to read FDE augmentation data!\n"); + return error; + } + // adjust remaining byte count to take augmentation bytes + // (if any) into account. + remaining = lengthOffset + length + - dataReader.Offset(); + + error = context.SaveInitialRuleSet(); + if (error != B_OK) + return error; + + DataReader restrictedReader = + dataReader.RestrictedReader(remaining); + error = _ParseFrameInfoInstructions(unit, context, + restrictedReader); + if (error != B_OK) + return error; + + TRACE_CFI(" found row!\n"); + + // apply the rules of the final row + // get the frameAddress first + target_addr_t frameAddress; + CfaCfaRule* cfaCfaRule = context.GetCfaCfaRule(); + switch (cfaCfaRule->Type()) { + case CFA_CFA_RULE_REGISTER_OFFSET: + { + BVariant value; + if (!inputInterface->GetRegisterValue( + cfaCfaRule->Register(), value) + || !value.IsNumber()) { + return B_UNSUPPORTED; + } + frameAddress = value.ToUInt64() + cfaCfaRule->Offset(); + break; + } + case CFA_CFA_RULE_EXPRESSION: + { + error = EvaluateExpression(unit, subprogramEntry, + cfaCfaRule->Expression().block, + cfaCfaRule->Expression().size, + inputInterface, location, 0, 0, false, + frameAddress); + if (error != B_OK) + return error; + break; + } + case CFA_CFA_RULE_UNDEFINED: + default: + return B_BAD_VALUE; + } + + TRACE_CFI(" frame address: %#llx\n", frameAddress); + + // apply the register rules + for (uint32 i = 0; i < registerCount; i++) { + TRACE_CFI(" reg %lu\n", i); + + uint32 valueType = outputInterface->RegisterValueType(i); + if (valueType == 0) + continue; + + CfaRule* rule = context.RegisterRule(i); + if (rule == NULL) + continue; + + // apply the rule + switch (rule->Type()) { + case CFA_RULE_SAME_VALUE: + { + TRACE_CFI(" -> CFA_RULE_SAME_VALUE\n"); + + BVariant value; + if (inputInterface->GetRegisterValue(i, value)) + outputInterface->SetRegisterValue(i, value); + break; + } + case CFA_RULE_LOCATION_OFFSET: + { + TRACE_CFI(" -> CFA_RULE_LOCATION_OFFSET: %lld\n", + rule->Offset()); + + BVariant value; + if (inputInterface->ReadValueFromMemory( + frameAddress + rule->Offset(), valueType, + value)) { + outputInterface->SetRegisterValue(i, value); + } + break; + } + case CFA_RULE_VALUE_OFFSET: + TRACE_CFI(" -> CFA_RULE_VALUE_OFFSET\n"); + + outputInterface->SetRegisterValue(i, + frameAddress + rule->Offset()); + break; + case CFA_RULE_REGISTER: + { + TRACE_CFI(" -> CFA_RULE_REGISTER\n"); + + BVariant value; + if (inputInterface->GetRegisterValue( + rule->Register(), value)) { + outputInterface->SetRegisterValue(i, value); + } + break; + } + case CFA_RULE_LOCATION_EXPRESSION: + { + TRACE_CFI(" -> CFA_RULE_LOCATION_EXPRESSION\n"); + + target_addr_t address; + error = EvaluateExpression(unit, subprogramEntry, + rule->Expression().block, + rule->Expression().size, + inputInterface, location, frameAddress, + frameAddress, true, address); + BVariant value; + if (error == B_OK + && inputInterface->ReadValueFromMemory(address, + valueType, value)) { + outputInterface->SetRegisterValue(i, value); + } + break; + } + case CFA_RULE_VALUE_EXPRESSION: + { + TRACE_CFI(" -> CFA_RULE_VALUE_EXPRESSION\n"); + + target_addr_t value; + error = EvaluateExpression(unit, subprogramEntry, + rule->Expression().block, + rule->Expression().size, + inputInterface, location, frameAddress, + frameAddress, true, value); + if (error == B_OK) + outputInterface->SetRegisterValue(i, value); + break; + } + case CFA_RULE_UNDEFINED: + TRACE_CFI(" -> CFA_RULE_UNDEFINED\n"); + default: + break; + } + } + + _framePointer = frameAddress; + return B_OK; + } + } + + dataReader.SeekAbsolute(lengthOffset + length); + } + + return B_ENTRY_NOT_FOUND; +} + + status_t DwarfFile::_ParseCIE(ElfSection* debugFrameSection, bool usingEHFrameSection, CompilationUnit* unit, CfaContext& context, off_t cieOffset, diff --git a/src/apps/debugger/dwarf/DwarfFile.h b/src/apps/debugger/dwarf/DwarfFile.h index a7afede41f..b7d53b8351 100644 --- a/src/apps/debugger/dwarf/DwarfFile.h +++ b/src/apps/debugger/dwarf/DwarfFile.h @@ -39,13 +39,6 @@ public: const char* Name() const { return fName; } ElfFile* GetElfFile() const { return fElfFile; } - bool HasDebugFrameSection() const { - return fDebugFrameSection != NULL; - } - bool HasEHFrameSection() const { - return fEHFrameSection != NULL; - } - int32 CountCompilationUnits() const; CompilationUnit* CompilationUnitAt(int32 index) const; CompilationUnit* CompilationUnitForDIE( @@ -54,8 +47,7 @@ public: TargetAddressRangeList* ResolveRangeList(CompilationUnit* unit, uint64 offset) const; - status_t UnwindCallFrame(bool usingEHFrameSection, - CompilationUnit* unit, + status_t UnwindCallFrame(CompilationUnit* unit, DIESubprogram* subprogramEntry, target_addr_t location, const DwarfTargetInterface* inputInterface, @@ -121,6 +113,14 @@ private: status_t _ParseLineInfo(CompilationUnit* unit); + status_t _UnwindCallFrame(bool usingEHFrameSection, + CompilationUnit* unit, + DIESubprogram* subprogramEntry, + target_addr_t location, + const DwarfTargetInterface* inputInterface, + DwarfTargetInterface* outputInterface, + target_addr_t& _framePointer); + status_t _ParseCIE(ElfSection* debugFrameSection, bool usingEHFrameSection, CompilationUnit* unit, From aeadcf457d5c91c993dc07f01490723960465e8c Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Wed, 11 Jul 2012 23:37:36 -0400 Subject: [PATCH 14/18] Partially fix #8710. - When an image was unloaded, its corresponding image info was never removed from TeamDebugInfo's list, leading to the latter containing a deleted object, resulting in various random crashes. --- src/apps/debugger/model/Image.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/apps/debugger/model/Image.cpp b/src/apps/debugger/model/Image.cpp index 9e102b5fee..61269b5928 100644 --- a/src/apps/debugger/model/Image.cpp +++ b/src/apps/debugger/model/Image.cpp @@ -26,8 +26,11 @@ Image::Image(Team* team,const ImageInfo& imageInfo, LocatableFile* imageFile) Image::~Image() { - if (fDebugInfo != NULL) + if (fDebugInfo != NULL) { + if (fTeam != NULL) + fTeam->DebugInfo()->RemoveImageDebugInfo(fDebugInfo); fDebugInfo->ReleaseReference(); + } if (fImageFile != NULL) fImageFile->ReleaseReference(); } From 95453175cda446eb4dede872a5bae561bbde7190 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Wed, 11 Jul 2012 23:39:17 -0400 Subject: [PATCH 15/18] Fix other part of #8710. - When binary searching functions in the source entry list, comparing by name and location alone isn't sufficient, since templates will match those for different instances, Fixes a crash on exit where the wrong function would get removed from the list, while the one we actually wanted to remove was still in the list, but then had its source code cleared. This would later crash the comparison function due to not being able to get its source location. --- src/apps/debugger/debug_info/TeamDebugInfo.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/apps/debugger/debug_info/TeamDebugInfo.cpp b/src/apps/debugger/debug_info/TeamDebugInfo.cpp index b3817fe898..9a22093933 100644 --- a/src/apps/debugger/debug_info/TeamDebugInfo.cpp +++ b/src/apps/debugger/debug_info/TeamDebugInfo.cpp @@ -1,5 +1,6 @@ /* * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. + * Copyright 2012, Rene Gollent, rene@gollent.com. * Distributed under the terms of the MIT License. */ @@ -194,7 +195,13 @@ private: if (locationA < locationB) return -1; - return locationA == locationB ? 0 : 1; + if (locationA != locationB ) + return 1; + + // if the locations match we still need to compare by name to be + // certain, since differently typed instantiations of template + // functions will have the same source file and location + return a->Name().Compare(b->Name()); } static int _CompareLocationFunction(const SourceLocation* location, From e2d2662bc41044357c127b233e121c5b89a539c8 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Thu, 12 Jul 2012 10:53:42 +0200 Subject: [PATCH 16/18] Automatic whitespace cleanup --- src/system/kernel/arch/x86/Jamfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/system/kernel/arch/x86/Jamfile b/src/system/kernel/arch/x86/Jamfile index cc43a7da0a..ecb9706398 100644 --- a/src/system/kernel/arch/x86/Jamfile +++ b/src/system/kernel/arch/x86/Jamfile @@ -3,8 +3,8 @@ SubDir HAIKU_TOP src system kernel arch x86 ; SubDirHdrs [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) system kernel ] ; # for syscall_numbers.h SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers ps2 ; -SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica include ; -SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica include platform ; +SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi include ; +SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi include platform ; SubDirHdrs $(SUBDIR) timers ; UsePrivateKernelHeaders ; From b1700b2cd1068f4717402c66d5cd6e6b5db0315b Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Thu, 12 Jul 2012 10:54:30 +0200 Subject: [PATCH 17/18] Declare syscall_numbers.h include for x86_signals.cpp Fixes #8718. --- src/system/kernel/arch/x86/Jamfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/system/kernel/arch/x86/Jamfile b/src/system/kernel/arch/x86/Jamfile index ecb9706398..f82f47ef36 100644 --- a/src/system/kernel/arch/x86/Jamfile +++ b/src/system/kernel/arch/x86/Jamfile @@ -77,7 +77,7 @@ KernelMergeObject kernel_arch_x86.o : CreateAsmStructOffsetsHeader asm_offsets.h : asm_offsets.cpp ; # We need to specify the dependency on the generated syscalls file explicitly. -Includes [ FGristFiles arch_x86.S arch_interrupts.S ] +Includes [ FGristFiles arch_interrupts.S arch_x86.S x86_signals.cpp ] : syscall_numbers.h ; Includes [ FGristFiles arch_interrupts.S ] : syscall_table.h ; From 8c51cca27ef0f61a7b0b99c2179ca77e0b5c25a2 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Thu, 12 Jul 2012 11:06:10 +0200 Subject: [PATCH 18/18] Fix accidental partial revert of 0174267 --- src/system/kernel/arch/x86/Jamfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/system/kernel/arch/x86/Jamfile b/src/system/kernel/arch/x86/Jamfile index f82f47ef36..f40420d134 100644 --- a/src/system/kernel/arch/x86/Jamfile +++ b/src/system/kernel/arch/x86/Jamfile @@ -3,8 +3,9 @@ SubDir HAIKU_TOP src system kernel arch x86 ; SubDirHdrs [ FDirName $(TARGET_COMMON_DEBUG_OBJECT_DIR) system kernel ] ; # for syscall_numbers.h SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers ps2 ; -SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi include ; -SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi include platform ; +SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica include ; +SubDirHdrs $(HAIKU_TOP) src add-ons kernel bus_managers acpi acpica include + platform ; SubDirHdrs $(SUBDIR) timers ; UsePrivateKernelHeaders ;