[haiku-commits] BRANCH HaikuPM-github.package-management [eeebe28] in src: apps/haiku-depot add-ons/kernel/drivers/network/virtio apps/debugger/user_interface/gui/inspector_window tools/translation/tgainfo apps/debugger

  • From: HaikuPM-github.package-management <community@xxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 17 Sep 2013 14:45:33 +0200 (CEST)

added 60 changesets to branch 'refs/remotes/HaikuPM-github/package-management'
old head: 0af009d250c4f07925a26d60c735e94746e8de62
new head: eeebe2843a61c82661720930ee0002b0a5b53ced
overview: https://github.com/haiku/HaikuPM/compare/0af009d...eeebe28

----------------------------------------------------------------------------

278f66b: x86[_64]: Enable NX on non-boot CPUs as soon as possible

                                    [ Pawel Dziepak <pdziepak@xxxxxxxxxxx> ]

1a6ebaa: Update translations from Pootle

                          [ Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx> ]

28390f6: ext2: access the parent variable once checked it's non null
  
  * cleanup
  * add some inode flags we don't use

                                   [ Jérôme Duval <jerome.duval@xxxxxxxxx> ]

a933ad6: virtio_net: initial skeleton driver.

                                   [ Jérôme Duval <jerome.duval@xxxxxxxxx> ]

5594217: Fix accidentally truncated addresses in call frame unwind.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

672b260: ARM: kernel: Fix compilation issue with new gas.
  
  Turns out the new gas does not like spaces :(

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

1ea8fd5: Debugger: Add missing std::nothrow.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

5077cb0: Debugger: add Inspect context item to Registers view.
  
  - Allows one to treat the value of a register as a memory
    address and jump directly to inspecting said address.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

eb86163: virtio_net: add feature labels.

                                   [ Jérôme Duval <jerome.duval@xxxxxxxxx> ]

28cf626: virtio_net: allocate queues, read macaddress, handle ioctl.

                                   [ Jérôme Duval <jerome.duval@xxxxxxxxx> ]

5a2c582: add a constant for 10G base T ethernet.

                                   [ Jérôme Duval <jerome.duval@xxxxxxxxx> ]

acd58c2: ARM: boot: Make dd on MacOS happy
  
  Turns out dd on MacOS does not like '1M' as size descriptor, but
  wants '1m'. To prevent us breaking Linux builds (as it does not
  accept 1m), just use the actual number of bytes explicitely instead.

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

a7e9ce6: Use uname -s instead of uname -o
  
  ...since BSD uname (on OS X at least) doesn't have a -o param, only a -s,
  Haiku has both, and both print "Haiku".

                                     [ John Scipione <jscipione@xxxxxxxxx> ]

736c1f8: Localize bitsinfo
  
  Closes ticket #7162.
  Signed-off-by: Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx>

                               [ Jorma Karvonen <karvonen.jorma@xxxxxxxxx> ]

cae234a: Localize bmpinfo
  
  Closes ticket #7164
  Signed-off-by: Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx>

                               [ Jorma Karvonen <karvonen.jorma@xxxxxxxxx> ]

6a66acd: Localize tgainfo
  
  Closes ticket #7168
  Signed-off-by: Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx>

                               [ Jorma Karvonen <karvonen.jorma@xxxxxxxxx> ]

89f89a0: ARM: boot: pass boot disk identifier
  
  This to stop the vfs_boot.cpp code from complaining.

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

b9e8ec7: debugger/debuganalyzer: Remove the explicit -Werror from Jamfile
  
  Specifying -Werror in the Jamfiles directly prevents the build
  system from disabling error-on-warning for some arch specific
  warnings (or even globally), breaking the ARM build.
  
  The "src/apps" directory is already setup to compile with -Werror
  by the build system anyway, so remove the explicit setting here.

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

0fa2d68: ARM: stub out missing int64 atomic functions
  
  Also, add an item to the TODO list for this. Really need to figure it out 
soon...

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

ae4ad70: ARM: stub out makebootable so we can build a full haiku-image

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

38bd76a: u-boot: make sure host makebootable builds too
  
  Somehow missed these few lines in my last commit.

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

ed6722a: norflash: Add hack to hide start of NOR flash
  
  This is a workaround for hiding U-Boot that is stored in the first 2
  128k blocks, so we can put a BFS image into NOR to boot from (since
  we do not have support for SD/MMC yet in Haiku).
  
  When manually putting a BFS filesystem at block 3 we actually get
  right up to the point where BootScript is attempted to be executed!

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

5308f23: usb_disk: returns B_DEV_NOT_READY for SCSI_SENSE_KEY_NOT_READY
  
  ...instead of B_DEV_NO_MEDIA. The latter seems to imply we stop testing
  the unit is ready in usb_disk_device_added().
  Based on a patch provided by markh in #9589.

                                   [ Jerome Duval <jerome.duval@xxxxxxxxx> ]

92ab471: ntfs: make sure our confidence is higher then the intel partition 
add-on
  
  This as the intel partition addon just does a very weak test, and the
  NTFS test is much safer. This prevents NTFS filesystems that have a
  valid boot sector signature but no partition table, from being
  picked up by the intel partition table add-on instead of the ntfs
  add-on.
  
  Patch provided by markh, thanks!

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

dc377ab: beos_mime: add sniffer rule for .mp3 files
  
  Patch from markh (ticket #9790), thanks!

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

c75ca47: dpc: fix comments spelling.

                                   [ Jerome Duval <jerome.duval@xxxxxxxxx> ]

02cac49: Debugger: Implement #9960.
  
  - DebugReportGenerator now retrieves and dumps disassembly for the crashing
    function up to the crashing line.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

779d821: HaikuDepot: Use PackageInfoRefs instead of PackageInfos
  
   Instead of storing PackageInfo objects directly in the
   PackageLists, store PackageInfoRefs instead. This makes a
   lot of operations much cheaper, and it also allows making
   changes to a PackageInfo (which now exists only once)
   and have those changes reflect everywhere. In particular,
   it will be easier to populate some information of the
   PackageInfo lazily, and to listen for changes on a
   PackageInfo object.

                                      [ Stephan Aßmus <superstippi@xxxxxx> ]

9202a71: HaikuDepot: Add interface for PackageInfoListener.
  
   Also defines PackageInfoEvent.

                                      [ Stephan Aßmus <superstippi@xxxxxx> ]

697c0d7: hdaudio: check pin sense on init, don't wait for a switch event
  
  with headphones plugged on boot, sound was still enabled on speakers.
  see #9956

                                   [ Jerome Duval <jerome.duval@xxxxxxxxx> ]

92dbf18: HaikuDepot: Added some listener support to PackageInfo

                                      [ Stephan Aßmus <superstippi@xxxxxx> ]

1c38517: ListView: More safe ScrollToSelection implementation
  
  The Problem was observed in the Time Preferences Zone view - the
  selection was set inside of TimeZoneView::DoLayout() call on
  the OutlineListView control that had zero-sized Bounds. After
  the control was resized the selection stay mainly hidden "under"
  the upper edge. The Problem looks like generic so should be fixed
  in the interface kit code. Proposed fix introduces additional check
  for the scroll position to not cross the top edge of control.

                                        [ Siarzhuk Zharski <zharik@xxxxxx> ]

6b48fa0: usb_disk: fixes 64bit trace build

                                   [ Jerome Duval <jerome.duval@xxxxxxxxx> ]

1a07e84: usb_disk: fixed mounting a USB disk on x86_64
  
  * usb_disk_prepare_partial_buffer() was miscalculating the offset in the temp 
buffer,
  which led to a page fault later when copying to the user buffer.

                                   [ Jerome Duval <jerome.duval@xxxxxxxxx> ]

8f284ef: intel_extreme: don't expose overlay in accelerant when not allocated
  
  ... in the driver.

                                   [ Jerome Duval <jerome.duval@xxxxxxxxx> ]

af8e2aa: Debugger: add settings manager for source location mappings.
  
  - If it was necessary to help the debugger locate a particular source
    file due to it not being found on disk at the location specified in
    the debug information, the associated user-supplied path mappings
    are now saved and restored in the team settings. The file manager still
    needs a bit of extra work to apply these as files are added though.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

64aae11: Fix incorrect name usage.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

ad054cf: Debugger: Implement #9961.
  
  - FileManager now saves any explicitly located file mappings,
    and properly restores them when reloading the same team/files later.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

f7e1dc6: Debugger: Add selection support to MemoryView.
  
  - The Inspector's memory view now supports selecting chunks of the hex 
display in
    the manner one would in a TextView. The selection can also be copied to the 
clipboard,
    or if it matches the size of a target address, can be used as input for an 
address to
    inspect directly.
  
  Still needs some fine tuning, but basically works.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

59cef1f: Build fix.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

153c6c4: Debugger: Fix data copy issue.
  - B_PRIx8 unfortunately doesn't necessarily strictly stay within the bounds
    of an 8-bit hex constant, so force the size passed to snprintf to make it
    that way.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

62b27e6: Fix previous format problem more correctly.
  
  Thanks Ingo, Oliver and Ithamar for the hint.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

7eec822: HaikuDepot: Package information can be retrieved asynchronously

                                      [ Stephan Aßmus <superstippi@xxxxxx> ]

b9898c4: HaikuDepot: Also lock the model when updating the list

                                      [ Stephan Aßmus <superstippi@xxxxxx> ]

f7628f8: HaikuDepot: Fixed selecting the right package when the list is sorted.

                                      [ Stephan Aßmus <superstippi@xxxxxx> ]

72b9e4a: Fix gcc2 build.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

ed6f171: BColumnListView: Enable invalidating rows, fix SetField()
  
   * Seems like there was no easy way to simply invalidate
     a given BRow. Introduced BColumnListView::InvalidateRow().
   * BRow::SetField() tried to invalidate the row, but invalidated
     the listview instead of the BOutlineView responsible for
     drawing the list contents. Use the new InvaalidateRow().

                                      [ Stephan Aßmus <superstippi@xxxxxx> ]

b748950: HaikuDepot: Update package list when necessary
  
   * Pass the Model lock to the PackageListView.
   * Register a PackageInfoListener with every listed package.
   * Update the rating when it is fetched.

                                      [ Stephan Aßmus <superstippi@xxxxxx> ]

533036d: libroot: Make sure PTHREAD_STACK_MIN is in the allowed range

                                    [ Pawel Dziepak <pdziepak@xxxxxxxxxxx> ]

772568c: system: Use B_PAGE_SIZE to define stack sizes
  
  As korli suggested use B_PAGE_SIZE for defining stack size related
  definitions what seems to be more natural for them  and also may
  help if we ever support an architecture with page size different than
  4kB.

                                    [ Pawel Dziepak <pdziepak@xxxxxxxxxxx> ]

4efb0a6: posix: Update PTHREAD_STACK_MIN to match MIN_USER_STACK_SIZE
  
  Thanks for pointing this out Pete!

                                    [ Pawel Dziepak <pdziepak@xxxxxxxxxxx> ]

c315b2b: Revert "ScreenSaver: ScrollToSelection off-by-one"
  
  This reverts commit fb90f7ffe49c07e82cd8cf68012929c87319f656.
  
  Underlying issue fixed in hrev46066

                                     [ John Scipione <jscipione@xxxxxxxxx> ]

4f4270c: loader/u-boot: fix alignment of uimage components.
  
  The "blobs" in a U-Boot uimage are aligned at 4 bytes, which we
  did not take into account. Found this when adding a 3rd blob
  containing the Flattened Device Tree for ARM.

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

ba06f07: ARM: kernel: fix timer resolution and implement basic timekeeping.
  
  The previously used method for programming the timer did not take
  into account that our timespec is 64bit while the register we poke
  it into is 32 bit. Since the PXA (SoC in Verdex target) has a limited
  scale of resolution (us,ms,second) we dynamicly determine the one
  that we can most closely match, and set that.
  
  For f.ex. snooze to work however, we also need system_time to work.
  The current implementation uses a system timer at microsecond
  resolution to keep track of time.
  
  Although the code is far from perfect, committing it now before
  it gets lost, since I'm working on the infrastructure code
  to properly factor out the SoC specific code out of the core
  ARM architecture code (so the kernel can support more then
  our poor old Verdex QEMU target ;))

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

102ce46: norflash: do not accept any device as a valid 'norflash'
  
  Seems the original code was a little *too* simple ;-)

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

dfa5aa0: device_manager: Move init_node_tree to after kdl cmd registration
  
  This helps when debugging, since when a driver/module causes a crash
  while registering with the device manager, you can actually look at
  the device manager state ;-)

                          [ Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx> ]

2c130f0: Debugger: Fix calculation in MemoryView.
  
  - The offset calculation for mapping the current point wasn't taking
    into account the number of bytes per hex block, causing it to be
    proportionally further off if one switched to 16/32/64-bit hex mode.
  
  Gets mouse selection working properly in said modes.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

98c5cb2: Debugger: Fix RegistersView context menu.
  
  - Always grab the address value from the actual register value column,
    rather than the one that's in fact under the mouse. Fixes the "Inspect"
    item sending you to inspect address 0 if you happened to right click over
    the register name rather than the value.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

89d18e9: Debugger: MemoryView - Tweak target address drawing.
  
  - Since we actually draw a selection now, change the target address
    highlight to clearly distinguish it. Rather than inverting it, it's
    now drawn with a normal background and red text in the hex display.
    The text mode subcomponent still shows it as an invert though, since
    the latter doesn't currently indicate the selection.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

eeebe28: Manually merge 1410faca6c30d39dc08a7bf7caa7630ce5a16d35.

                                      [ Rene Gollent <anevilyak@xxxxxxxxx> ]

----------------------------------------------------------------------------

100 files changed, 2874 insertions(+), 596 deletions(-)
build/jam/images/HaikuImage                      |  12 +-
build/scripts/build_cross_tools                  |   2 +-
build/scripts/build_cross_tools_gcc4             |   2 +-
data/catalogs/apps/activitymonitor/fi.catkeys    |   5 +-
data/catalogs/apps/icon-o-matic/fr.catkeys       |   4 +-
data/catalogs/kits/mail/fi.catkeys               |   3 +-
data/catalogs/preferences/screensaver/be.catkeys |   4 +-
data/catalogs/preferences/screensaver/de.catkeys |   4 +-
data/catalogs/preferences/screensaver/fi.catkeys |   4 +-
data/catalogs/preferences/screensaver/fr.catkeys |   4 +-
data/catalogs/preferences/screensaver/hu.catkeys |   4 +-
data/catalogs/preferences/screensaver/ja.catkeys |   4 +-
docs/develop/ports/arm/todo.txt                  |   5 +
headers/posix/limits.h                           |   2 +-
headers/posix/net/if_media.h                     |   1 +
headers/private/interface/ColumnListView.h       |   4 +
headers/private/system/thread_defs.h             |   8 +-
.../accelerants/intel_extreme/accelerant.cpp     |   8 +-
src/add-ons/accelerants/intel_extreme/mode.cpp   |   5 +-
.../kernel/drivers/audio/hda/hda_codec.cpp       |  98 ++--
.../kernel/drivers/disk/norflash/norflash.cpp    |  17 +-
.../drivers/disk/usb/usb_disk/usb_disk.cpp       |  26 +-
src/add-ons/kernel/drivers/network/Jamfile       |   1 +
.../kernel/drivers/network/virtio/Jamfile        |   8 +
.../kernel/drivers/network/virtio/virtio_net.cpp | 462 ++++++++++++++++++
.../kernel/drivers/network/virtio/virtio_net.h   | 202 ++++++++
src/add-ons/kernel/file_systems/ext2/Inode.cpp   |   6 +-
src/add-ons/kernel/file_systems/ext2/ext2.h      |  40 +-
src/add-ons/kernel/file_systems/ntfs/fs_func.c   |   4 +-
src/add-ons/kernel/generic/dpc/dpc.c             |   8 +-
src/apps/debuganalyzer/gui/Jamfile               |   3 -
src/apps/debuganalyzer/gui/chart/Jamfile         |   3 -
src/apps/debuganalyzer/gui/main_window/Jamfile   |   3 -
src/apps/debuganalyzer/gui/table/Jamfile         |   3 -
src/apps/debuganalyzer/gui/thread_window/Jamfile |   3 -
src/apps/debuganalyzer/model/Jamfile             |   3 -
src/apps/debuganalyzer/model_loader/Jamfile      |   3 -
src/apps/debuganalyzer/util/Jamfile              |   3 -
src/apps/debugger/Jamfile                        |   4 +-
src/apps/debugger/arch/x86/disasm/Jamfile        |   3 -
.../debugger/arch/x86_64/ArchitectureX8664.cpp   |   4 +-
src/apps/debugger/arch/x86_64/disasm/Jamfile     |   3 -
.../controllers/DebugReportGenerator.cpp         |  87 +++-
.../debugger/controllers/DebugReportGenerator.h  |   9 +-
src/apps/debugger/controllers/TeamDebugger.cpp   |   4 +
src/apps/debugger/demangler/Jamfile              |   3 -
src/apps/debugger/dwarf/Jamfile                  |   3 -
src/apps/debugger/files/FileManager.cpp          |  86 +++-
src/apps/debugger/files/FileManager.h            |  17 +-
.../settings/TeamFileManagerSettings.cpp         | 128 +++++
.../debugger/settings/TeamFileManagerSettings.h  |  41 ++
src/apps/debugger/settings/TeamSettings.cpp      |  38 ++
src/apps/debugger/settings/TeamSettings.h        |   9 +
.../gui/inspector_window/MemoryView.cpp          | 463 +++++++++++++++++--
.../gui/inspector_window/MemoryView.h            |  34 +-
.../gui/team_window/RegistersView.cpp            |  49 +-
.../gui/team_window/RegistersView.h              |   5 +
.../gui/team_window/VariablesView.cpp            |   2 +-
src/apps/haiku-depot/Jamfile                     |   1 +
src/apps/haiku-depot/MainWindow.cpp              |  99 ++--
src/apps/haiku-depot/MainWindow.h                |   2 +-
src/apps/haiku-depot/Model.cpp                   | 114 ++++-
src/apps/haiku-depot/Model.h                     |  14 +-
src/apps/haiku-depot/PackageInfo.cpp             |  54 ++-
src/apps/haiku-depot/PackageInfo.h               |  22 +-
src/apps/haiku-depot/PackageInfoListener.cpp     |  86 ++++
src/apps/haiku-depot/PackageInfoListener.h       |  61 +++
src/apps/haiku-depot/PackageInfoView.cpp         | 113 ++++-
src/apps/haiku-depot/PackageInfoView.h           |  14 +-
src/apps/haiku-depot/PackageListView.cpp         | 152 +++++-
src/apps/haiku-depot/PackageListView.h           |  15 +-
src/bin/makebootable/platform/u-boot/Jamfile     |   3 +
.../platform/u-boot/makebootable.cpp             |   6 +
src/bin/network/ifconfig/ifconfig.cpp            |   2 +-
src/data/mime_db/audio/mpeg                      |   2 +
src/kits/interface/ColumnListView.cpp            |  21 +-
src/kits/interface/ListView.cpp                  |  11 +-
.../screensaver/ScreenSaverWindow.cpp            |   5 +-
src/system/boot/platform/u-boot/Jamfile          |   2 +-
src/system/boot/platform/u-boot/devices.cpp      |  20 +-
src/system/boot/platform/u-boot/uimage.cpp       |   2 +-
src/system/kernel/arch/arm/arch_asm.S            |   4 +-
src/system/kernel/arch/arm/arch_timer.cpp        |  74 ++-
src/system/kernel/arch/x86/arch_cpu.cpp          |   9 -
.../x86/paging/64bit/X86PagingMethod64Bit.cpp    |  14 +-
.../arch/x86/paging/pae/X86PagingMethodPAE.cpp   |  12 +-
.../kernel/device_manager/device_manager.cpp     |   4 +-
src/system/kernel/lib/arch/arm/Jamfile           |   2 -
src/system/libroot/os/arch/arm/atomic.S          |  89 +---
src/system/libroot/posix/pthread/pthread_attr.c  |   4 +
src/tools/makebootable/platform/u-boot/Jamfile   |  12 +
src/tools/translation/bitsinfo/Jamfile           |  11 +-
src/tools/translation/bitsinfo/bitsinfo.cpp      |  56 ++-
src/tools/translation/bitsinfo/bitsinfo.rdef     |  17 +
src/tools/translation/bmpinfo/Jamfile            |   9 +-
src/tools/translation/bmpinfo/bmpinfo.cpp        |  99 ++--
src/tools/translation/bmpinfo/bmpinfo.rdef       |  17 +
src/tools/translation/tgainfo/Jamfile            |  11 +-
src/tools/translation/tgainfo/tgainfo.cpp        | 215 +++++----
[ *** stats truncated: 1 lines dropped *** ]

############################################################################

Commit:      278f66b6b1dd47b3834c768308fa3d21a5eadb88
Author:      Pawel Dziepak <pdziepak@xxxxxxxxxxx>
Date:        Sat Sep 14 03:25:56 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:17 2013 UTC

x86[_64]: Enable NX on non-boot CPUs as soon as possible

----------------------------------------------------------------------------

diff --git a/src/system/kernel/arch/x86/arch_cpu.cpp 
b/src/system/kernel/arch/x86/arch_cpu.cpp
index 67212e2..a817ec0 100644
--- a/src/system/kernel/arch/x86/arch_cpu.cpp
+++ b/src/system/kernel/arch/x86/arch_cpu.cpp
@@ -753,15 +753,6 @@ arch_cpu_init_percpu(kernel_args* args, int cpu)
                }
        }
 
-       // If availalbe enable NX-bit (No eXecute). Boot CPU can not enable
-       // NX-bit here since PAE should be enabled first.
-       if (cpu != 0) {
-               if (x86_check_feature(IA32_FEATURE_AMD_EXT_NX, 
FEATURE_EXT_AMD)) {
-                       x86_write_msr(IA32_MSR_EFER, x86_read_msr(IA32_MSR_EFER)
-                               | IA32_MSR_EFER_NX);
-               }
-       }
-
        return B_OK;
 }
 
diff --git a/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.cpp 
b/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.cpp
index b560db0..2a6ef79 100644
--- a/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.cpp
+++ b/src/system/kernel/arch/x86/paging/64bit/X86PagingMethod64Bit.cpp
@@ -60,10 +60,8 @@ X86PagingMethod64Bit::Init(kernel_args* args,
        fKernelVirtualPML4 = (uint64*)(addr_t)args->arch_args.vir_pgdir;
 
        // if availalbe enable NX-bit (No eXecute)
-       if (x86_check_feature(IA32_FEATURE_AMD_EXT_NX, FEATURE_EXT_AMD)) {
-               x86_write_msr(IA32_MSR_EFER, x86_read_msr(IA32_MSR_EFER)
-                       | IA32_MSR_EFER_NX);
-       }
+       if (x86_check_feature(IA32_FEATURE_AMD_EXT_NX, FEATURE_EXT_AMD))
+               call_all_cpus_sync(&_EnableExecutionDisable, NULL);
 
        // Ensure that the user half of the address space is clear. This removes
        // the temporary identity mapping made by the boot loader.
@@ -384,3 +382,11 @@ X86PagingMethod64Bit::PutPageTableEntryInTable(uint64* 
entry,
        SetTableEntry(entry, page);
 }
 
+
+/*static*/ void
+X86PagingMethod64Bit::_EnableExecutionDisable(void* dummy, int cpu)
+{
+       x86_write_msr(IA32_MSR_EFER, x86_read_msr(IA32_MSR_EFER)
+               | IA32_MSR_EFER_NX);
+}
+
diff --git a/src/system/kernel/arch/x86/paging/pae/X86PagingMethodPAE.cpp 
b/src/system/kernel/arch/x86/paging/pae/X86PagingMethodPAE.cpp
index f8b4712..6e1da99 100644
--- a/src/system/kernel/arch/x86/paging/pae/X86PagingMethodPAE.cpp
+++ b/src/system/kernel/arch/x86/paging/pae/X86PagingMethodPAE.cpp
@@ -149,10 +149,8 @@ struct X86PagingMethodPAE::ToPAESwitcher {
                call_all_cpus_sync(&_EnablePAE, (void*)(addr_t)physicalPDPT);
 
                // if availalbe enable NX-bit (No eXecute)
-               if (x86_check_feature(IA32_FEATURE_AMD_EXT_NX, 
FEATURE_EXT_AMD)) {
-                       x86_write_msr(IA32_MSR_EFER, x86_read_msr(IA32_MSR_EFER)
-                               | IA32_MSR_EFER_NX);
-               }
+               if (x86_check_feature(IA32_FEATURE_AMD_EXT_NX, FEATURE_EXT_AMD))
+                       call_all_cpus_sync(&_EnableExecutionDisable, NULL);
 
                // set return values
                _virtualPDPT = pdpt;
@@ -173,6 +171,12 @@ private:
                x86_write_cr4(x86_read_cr4() | IA32_CR4_PAE | 
IA32_CR4_GLOBAL_PAGES);
        }
 
+       static void _EnableExecutionDisable(void* dummy, int cpu)
+       {
+               x86_write_msr(IA32_MSR_EFER, x86_read_msr(IA32_MSR_EFER)
+                       | IA32_MSR_EFER_NX);
+       }
+
        void _TranslatePageTable(addr_t virtualBase)
        {
                page_table_entry* entry = &fPageHole[virtualBase / B_PAGE_SIZE];

############################################################################

Commit:      1a6ebaa02ea84117961e2a412fdc07f75fc634f9
Author:      Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx>
Date:        Sat Sep 14 04:14:01 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:17 2013 UTC

Update translations from Pootle

----------------------------------------------------------------------------

diff --git a/data/catalogs/apps/activitymonitor/fi.catkeys 
b/data/catalogs/apps/activitymonitor/fi.catkeys
index eea09ea..b1bc1b1 100644
--- a/data/catalogs/apps/activitymonitor/fi.catkeys
+++ b/data/catalogs/apps/activitymonitor/fi.catkeys
@@ -1,4 +1,4 @@
-1      finnish x-vnd.Haiku-ActivityMonitor     2739021859
+1      finnish x-vnd.Haiku-ActivityMonitor     1211510241
 P-faults       DataSource              P-viat
 Media nodes    DataSource              Mediasolmut
 Threads        DataSource              Säikeet
@@ -6,6 +6,7 @@ Always on top   ActivityWindow          Aina päällimmäisenä
 Add graph      ActivityWindow          Lisää kuvaaja
 Teams  DataSource              Ryhmät
 Hide legend    ActivityView            Piilota merkin selitys
+MiB    DataSource              mebitavua
 Network send   DataSource              Verkkolähetys
 CPU usage (combined)   DataSource              Suoritinkäyttö (yhdistetty)
 CPU    DataSource              Suoritin
@@ -26,12 +27,14 @@ Update time interval:       SettingsWindow          Päivitä 
aikaväli:
 TX     DataSource      Shorter version for Sending     Läh.
 Quit   ActivityWindow          Poistu
 Block cache memory     DataSource              Lohkovälimuisti
+%.1f KiB/s     DataSource              %.1f kibitavua/s
 Remove graph   ActivityView            Poista kuvaaja
 %lld sec.      SettingsWindow          %lld s
 %lld ms        SettingsWindow          %lld ms
 CPU usage      DataSource              Suoritinkäyttö
 Raw clipboard  DataSource              Raakadataleikepöytä
 Sems   DataSource              Opastimet
+%.1f MiB       DataSource              %.1f Mebitavua
 ActivityMonitor        System name             Aktiviteettivalvonta
 Running applications   DataSource              Suoritetaan sovelluksia
 Semaphores     DataSource              Opastimet
diff --git a/data/catalogs/apps/icon-o-matic/fr.catkeys 
b/data/catalogs/apps/icon-o-matic/fr.catkeys
index 6383f58..8066314 100644
--- a/data/catalogs/apps/icon-o-matic/fr.catkeys
+++ b/data/catalogs/apps/icon-o-matic/fr.catkeys
@@ -1,4 +1,4 @@
-1      french  x-vnd.haiku-icon_o_matic        605140404
+1      french  x-vnd.haiku-icon_o_matic        806315965
 Select All     Icon-O-Matic-PathManipulator            Sélectionner tout
 Add Style      Icon-O-Matic-AddStylesCmd               Ajouter un style
 Color (#%02x%02x%02x)  Style name after dropping a color               Couleur 
(#%02x%02x%02x)
@@ -67,6 +67,7 @@ Contour       Transformation          Contour
 Perspective    Transformation          Perspective
 Move Transformer       Icon-O-Matic-MoveTransformersCmd                
Déplacer la Transformation
 Opacity        Icon-O-Matic-PropertyNames              Opacité
+Add with path  Icon-O-Matic-ShapesList         Ajouter avec un chemin
 Gradient type  Icon-O-Matic-StyleTypes         Type de dégradé
 Icon-O-Matic   System name             Icon-O-Matic
 Cancel Icon-O-Matic-Menu-Settings              Annuler
@@ -79,6 +80,7 @@ META:ICON Attribute   Icon-O-Matic-SavePanel          
Attribut META:ICON
 Translation Y  Icon-O-Matic-PropertyNames              Translation en Y
 Rotate Icon-O-Matic-TransformationBoxStates            Pivoter
 Remove Transformer     Icon-O-Matic-RemoveTransformersCmd              
Supprimer une transformation
+Rotate Path Indices    Icon-O-Matic-RotatePathIndiciesCmd              
Rotation des indices de chemin
 Add Transformer        Icon-O-Matic-AddTransformersCmd         Ajouter une 
transformation
 Remove Icon-O-Matic-PathsList          Enlever
 Nudge Control Point    Icon-O-Matic-NudgePointsCommand         Déplacer le 
point de contrôle
diff --git a/data/catalogs/kits/mail/fi.catkeys 
b/data/catalogs/kits/mail/fi.catkeys
index da29589..994a53b 100644
--- a/data/catalogs/kits/mail/fi.catkeys
+++ b/data/catalogs/kits/mail/fi.catkeys
@@ -1,7 +1,8 @@
-1      finnish x-vnd.Haiku-libmail     161731481
+1      finnish x-vnd.Haiku-libmail     4037525365
 Partially download messages larger than        ProtocolConfigView              
Osittain ladatut viestit suurempia kuin
 Password:      ProtocolConfigView              Salasana:
 Remove mail from server when deleted   ProtocolConfigView              Poista 
sähköposti palvelimelta poistettaessa
+KiB    ProtocolConfigView              kibitavua
 Mail server:   ProtocolConfigView              Sähköpostipalvelin:
 Select…        MailKit         Valitse...
 Connection type:       ProtocolConfigView              Yhteystyyppi:
diff --git a/data/catalogs/preferences/screensaver/be.catkeys 
b/data/catalogs/preferences/screensaver/be.catkeys
index 48c4f84..3925c11 100644
--- a/data/catalogs/preferences/screensaver/be.catkeys
+++ b/data/catalogs/preferences/screensaver/be.catkeys
@@ -1,4 +1,4 @@
-1      belarusian      x-vnd.Haiku-ScreenSaver 3630119516
+1      belarusian      x-vnd.Haiku-ScreenSaver 232492478
 Could not load screen saver    ScreenSaver             Не ўдалося загрузіць 
захавальнік экрана
 30 seconds     ScreenSaver             30 секунд
 Start screensaver      ScreenSaver             Запусціць захавальнік
@@ -11,7 +11,9 @@ Display Power Management Signaling not available      
ScreenSaver             Кіраванне
 ScreenSaver    System name             Захавальнік Экрана
 Test   ScreenSaver             Тэст
 General        ScreenSaver             Агульныя
+Fade now when mouse is here    ScreenSaver             Зацямняць перасунуўшы 
указальнік мышы сюды
 Enable screensaver     ScreenSaver             Уключыць захавальнік
+Don't fade when mouse is here  ScreenSaver             Не зацямняць калі 
указальнік мышы знаходзіцца тут
 Cancel ScreenSaver             Адмена
 Turn off screen        ScreenSaver             Выключыць экран
 No options available   ScreenSaver             Ніякія опцыі недаступныя
diff --git a/data/catalogs/preferences/screensaver/de.catkeys 
b/data/catalogs/preferences/screensaver/de.catkeys
index b039065..a576ac2 100644
--- a/data/catalogs/preferences/screensaver/de.catkeys
+++ b/data/catalogs/preferences/screensaver/de.catkeys
@@ -1,4 +1,4 @@
-1      german  x-vnd.Haiku-ScreenSaver 3630119516
+1      german  x-vnd.Haiku-ScreenSaver 232492478
 Could not load screen saver    ScreenSaver             Bildschirmschoner 
konnte nicht geladen werden.
 30 seconds     ScreenSaver             30 Sekunden
 Start screensaver      ScreenSaver             Bildschirmschoner starten
@@ -11,7 +11,9 @@ Display Power Management Signaling not available      
ScreenSaver             Stromsparfunktione
 ScreenSaver    System name             Bildschirmschoner
 Test   ScreenSaver             Test
 General        ScreenSaver             Allgemein
+Fade now when mouse is here    ScreenSaver             Sofort starten, wenn 
Maus in diesem Eck
 Enable screensaver     ScreenSaver             Bildschirmschoner aktivieren
+Don't fade when mouse is here  ScreenSaver             Nicht starten, wenn 
Maus in diesem Eck
 Cancel ScreenSaver             Abbrechen
 Turn off screen        ScreenSaver             Bildschirm ausschalten
 No options available   ScreenSaver             Keine Optionen verfügbar
diff --git a/data/catalogs/preferences/screensaver/fi.catkeys 
b/data/catalogs/preferences/screensaver/fi.catkeys
index 3aa51a0..f7a7179 100644
--- a/data/catalogs/preferences/screensaver/fi.catkeys
+++ b/data/catalogs/preferences/screensaver/fi.catkeys
@@ -1,4 +1,4 @@
-1      finnish x-vnd.Haiku-ScreenSaver 3630119516
+1      finnish x-vnd.Haiku-ScreenSaver 232492478
 Could not load screen saver    ScreenSaver             Näytönsäästäjän lataus 
epäonnistui
 30 seconds     ScreenSaver             30 sekuntia
 Start screensaver      ScreenSaver             Käynnistä näytönsäästäjä
@@ -11,7 +11,9 @@ Display Power Management Signaling not available      
ScreenSaver             Näytön jännites
 ScreenSaver    System name             Näytönsäästäjäasetukset
 Test   ScreenSaver             Testaa
 General        ScreenSaver             Yleinen
+Fade now when mouse is here    ScreenSaver             Häivytä nyt kun hiiren 
kohdistin on tässä
 Enable screensaver     ScreenSaver             Ota käyttöön näytönsäästäjä
+Don't fade when mouse is here  ScreenSaver             Älä häivytä, kun hiiren 
kohdistin on tässä
 Cancel ScreenSaver             Peru
 Turn off screen        ScreenSaver             Käännä näyttö pois päältä
 No options available   ScreenSaver             Valitsimia ei ole käytettävissä
diff --git a/data/catalogs/preferences/screensaver/fr.catkeys 
b/data/catalogs/preferences/screensaver/fr.catkeys
index 46ae094..630beaf 100644
--- a/data/catalogs/preferences/screensaver/fr.catkeys
+++ b/data/catalogs/preferences/screensaver/fr.catkeys
@@ -1,4 +1,4 @@
-1      french  x-vnd.Haiku-ScreenSaver 3630119516
+1      french  x-vnd.Haiku-ScreenSaver 232492478
 Could not load screen saver    ScreenSaver             Impossible de charger 
l'économiseur d'écran
 30 seconds     ScreenSaver             30 secondes
 Start screensaver      ScreenSaver             Démarrer l'économiseur
@@ -11,7 +11,9 @@ Display Power Management Signaling not available      
ScreenSaver             Le système d'éco
 ScreenSaver    System name             Économiseur d'écran
 Test   ScreenSaver             Tester
 General        ScreenSaver             Général
+Fade now when mouse is here    ScreenSaver             Estomper maintenant 
lorsque la souris est ici
 Enable screensaver     ScreenSaver             Activer l'économiseur
+Don't fade when mouse is here  ScreenSaver             Ne pas estomper lorsque 
la souris est ici
 Cancel ScreenSaver             Annuler
 Turn off screen        ScreenSaver             Extinction de l'écran
 No options available   ScreenSaver             Aucune option disponible
diff --git a/data/catalogs/preferences/screensaver/hu.catkeys 
b/data/catalogs/preferences/screensaver/hu.catkeys
index ebb2c4e..a41a110 100644
--- a/data/catalogs/preferences/screensaver/hu.catkeys
+++ b/data/catalogs/preferences/screensaver/hu.catkeys
@@ -1,4 +1,4 @@
-1      hungarian       x-vnd.Haiku-ScreenSaver 3630119516
+1      hungarian       x-vnd.Haiku-ScreenSaver 232492478
 Could not load screen saver    ScreenSaver             A képernyővédő 
betöltése sikertelen
 30 seconds     ScreenSaver             30 másodperc
 Start screensaver      ScreenSaver             Képernyővédő indítása
@@ -11,7 +11,9 @@ Display Power Management Signaling not available      
ScreenSaver             A kijelző energia
 ScreenSaver    System name             Képernyővédő
 Test   ScreenSaver             Próba
 General        ScreenSaver             Általános
+Fade now when mouse is here    ScreenSaver             Bekapcsolás, ha az egér 
itt van
 Enable screensaver     ScreenSaver             Képernyővédő engedélyezése
+Don't fade when mouse is here  ScreenSaver             Ne kapcsoljon be, ha az 
egér itt van
 Cancel ScreenSaver             Mégse
 Turn off screen        ScreenSaver             Képernyő kikapcsolása
 No options available   ScreenSaver             Nincsenek elérhető beállítások
diff --git a/data/catalogs/preferences/screensaver/ja.catkeys 
b/data/catalogs/preferences/screensaver/ja.catkeys
index c247d6b..c1a0c1d 100644
--- a/data/catalogs/preferences/screensaver/ja.catkeys
+++ b/data/catalogs/preferences/screensaver/ja.catkeys
@@ -1,4 +1,4 @@
-1      japanese        x-vnd.Haiku-ScreenSaver 3630119516
+1      japanese        x-vnd.Haiku-ScreenSaver 232492478
 Could not load screen saver    ScreenSaver             スクリーンセーバーを実行できませんでした
 30 seconds     ScreenSaver             30 秒
 Start screensaver      ScreenSaver             スクリーンセーバーを開始
@@ -11,7 +11,9 @@ Display Power Management Signaling not available      
ScreenSaver             DPMS (Display Powe
 ScreenSaver    System name             スクリーンセーバー
 Test   ScreenSaver             テスト
 General        ScreenSaver             一般
+Fade now when mouse is here    ScreenSaver             マウスが指定の場所にあるときに画面を消す
 Enable screensaver     ScreenSaver             スクリーンセーバーを有効にする
+Don't fade when mouse is here  ScreenSaver             マウスが指定の場所にあるとき画面を消さない
 Cancel ScreenSaver             取り消し
 Turn off screen        ScreenSaver             画面を消す
 No options available   ScreenSaver             設定がありません

############################################################################

Commit:      28390f696405bea8bebd66d0fa546be797043e81
Author:      Jérôme Duval <jerome.duval@xxxxxxxxx>
Date:        Sat Sep 14 09:00:07 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:18 2013 UTC

ext2: access the parent variable once checked it's non null

* cleanup
* add some inode flags we don't use

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/file_systems/ext2/Inode.cpp 
b/src/add-ons/kernel/file_systems/ext2/Inode.cpp
index 3a07a8c..e8a1529 100644
--- a/src/add-ons/kernel/file_systems/ext2/Inode.cpp
+++ b/src/add-ons/kernel/file_systems/ext2/Inode.cpp
@@ -633,8 +633,9 @@ Inode::Create(Transaction& transaction, Inode* parent, 
const char* name,
        inode->SetAccessTime(&timespec);
        inode->SetCreationTime(&timespec);
        inode->SetModificationTime(&timespec);
-       node.SetFlags(parent->Flags() & EXT2_INODE_INHERITED);
-       if (volume->HasExtentsFeature() 
+       if (parent != NULL)
+               node.SetFlags(parent->Flags() & EXT2_INODE_INHERITED);
+       if (volume->HasExtentsFeature()
                && (inode->IsDirectory() || inode->IsFile())) {
                node.SetFlag(EXT2_INODE_EXTENTS);
                ExtentStream stream(volume, &node.extent_stream, 0);
@@ -935,4 +936,3 @@ Inode::IncrementNumLinks(Transaction& transaction)
                fVolume->ActivateDirNLink(transaction);
        }
 }
-
diff --git a/src/add-ons/kernel/file_systems/ext2/ext2.h 
b/src/add-ons/kernel/file_systems/ext2/ext2.h
index b966e7c..2bc5f7f 100644
--- a/src/add-ons/kernel/file_systems/ext2/ext2.h
+++ b/src/add-ons/kernel/file_systems/ext2/ext2.h
@@ -141,13 +141,13 @@ struct ext2_super_block {
        {
                free_blocks = B_HOST_TO_LENDIAN_INT32(freeBlocks & 0xffffffff);
                if (has64bits)
-                       free_blocks_high = B_HOST_TO_LENDIAN_INT32(freeBlocks 
>> 32);  
+                       free_blocks_high = B_HOST_TO_LENDIAN_INT32(freeBlocks 
>> 32);
        }
        void SetLastOrphan(ino_t id)
                { last_orphan = B_HOST_TO_LENDIAN_INT32((uint32)id); }
        void SetReadOnlyFeatures(uint32 readOnlyFeatures) const
                { readOnlyFeatures = B_HOST_TO_LENDIAN_INT32(readOnlyFeatures); 
}
-       
+
        bool IsValid();
                // implemented in Volume.cpp
 } _PACKED;
@@ -211,7 +211,7 @@ struct ext2_block_group {
        uint32  _reserved[2];
        uint16  unused_inodes;
        uint16  checksum;
-       
+
        // ext4
        uint32  block_bitmap_high;
        uint32  inode_bitmap_high;
@@ -249,7 +249,7 @@ struct ext2_block_group {
        {
                uint32 blocks = B_LENDIAN_TO_HOST_INT16(free_blocks);
                if (has64bits)
-                       blocks |= 
+                       blocks |=
                                
((uint32)B_LENDIAN_TO_HOST_INT16(free_blocks_high) << 16);
                return blocks;
        }
@@ -257,7 +257,7 @@ struct ext2_block_group {
        {
                uint32 inodes = B_LENDIAN_TO_HOST_INT16(free_inodes);
                if (has64bits)
-                       inodes |= 
+                       inodes |=
                                
((uint32)B_LENDIAN_TO_HOST_INT16(free_inodes_high) << 16);
                return inodes;
        }
@@ -265,7 +265,7 @@ struct ext2_block_group {
        {
                uint32 dirs = B_LENDIAN_TO_HOST_INT16(used_directories);
                if (has64bits)
-                       dirs |= 
+                       dirs |=
                                
((uint32)B_LENDIAN_TO_HOST_INT16(used_directories_high) << 16);
                return dirs;
        }
@@ -274,11 +274,11 @@ struct ext2_block_group {
        {
                uint32 inodes = B_LENDIAN_TO_HOST_INT16(unused_inodes);
                if (has64bits)
-                       inodes |= 
+                       inodes |=
                                
((uint32)B_LENDIAN_TO_HOST_INT16(unused_inodes_high) << 16);
                return inodes;
        }
-       
+
 
        void SetFreeBlocks(uint32 freeBlocks, bool has64bits)
        {
@@ -376,7 +376,7 @@ struct ext2_extent_entry {
        uint32 physical_block;
        uint32 LogicalBlock() const
                { return B_LENDIAN_TO_HOST_INT32(logical_block); }
-       uint16 Length() const { return B_LENDIAN_TO_HOST_INT16(length) == 
0x8000 
+       uint16 Length() const { return B_LENDIAN_TO_HOST_INT16(length) == 0x8000
                ? 0x8000 : B_LENDIAN_TO_HOST_INT16(length) & 0x7fff; }
        uint64 PhysicalBlock() const { return 
B_LENDIAN_TO_HOST_INT32(physical_block)
                | ((uint64)B_LENDIAN_TO_HOST_INT16(physical_block_high) << 32); 
}
@@ -437,7 +437,7 @@ struct ext2_inode {
        uint16  uid_high;
        uint16  gid_high;
        uint32  _reserved2;
-       
+
        // extra attributes
        uint16  extra_inode_size;
        uint16  _padding2;
@@ -460,18 +460,18 @@ struct ext2_inode {
        {
                timespec->tv_sec = B_LENDIAN_TO_HOST_INT32(time);
                if (extra && sizeof(timespec->tv_sec) > 4)
-                       timespec->tv_sec |= 
+                       timespec->tv_sec |=
                                (uint64)(B_LENDIAN_TO_HOST_INT32(time_extra) & 
0x2) << 32;
                if (extra)
                        timespec->tv_nsec = B_LENDIAN_TO_HOST_INT32(time_extra) 
>> 2;
                else
                        timespec->tv_nsec = 0;
        }
-       
-       void GetModificationTime(struct timespec *timespec, bool extra) const 
-               { _DecodeTime(timespec, modification_time, 
modification_time_extra, 
+
+       void GetModificationTime(struct timespec *timespec, bool extra) const
+               { _DecodeTime(timespec, modification_time, 
modification_time_extra,
                        extra); }
-       void GetAccessTime(struct timespec *timespec, bool extra) const 
+       void GetAccessTime(struct timespec *timespec, bool extra) const
                { _DecodeTime(timespec, access_time, access_time_extra, extra); 
}
        void GetChangeTime(struct timespec *timespec, bool extra) const
                { _DecodeTime(timespec, change_time, change_time_extra, extra); 
}
@@ -494,7 +494,7 @@ struct ext2_inode {
                        time |= (uint64)timespec->tv_sec >> 32;
                return B_HOST_TO_LENDIAN_INT32(time);
        }
-       
+
        void SetModificationTime(const struct timespec *timespec, bool extra)
        {
                modification_time = 
B_HOST_TO_LENDIAN_INT32((uint32)timespec->tv_sec);
@@ -517,7 +517,7 @@ struct ext2_inode {
        {
                if (extra) {
                        creation_time = 
B_HOST_TO_LENDIAN_INT32((uint32)timespec->tv_sec);
-                       creation_time_extra = 
+                       creation_time_extra =
                                
B_HOST_TO_LENDIAN_INT32((uint32)timespec->tv_nsec);
                }
        }
@@ -527,7 +527,7 @@ struct ext2_inode {
        }
 
        ino_t  NextOrphan() const { return (ino_t)DeletionTime(); }
-       
+
        off_t Size() const
        {
                if (S_ISREG(Mode())) {
@@ -654,6 +654,10 @@ struct ext2_inode {
 #define EXT2_INODE_DIR_SYNCH                   0x00010000
 #define EXT2_INODE_HUGE_FILE                   0x00040000
 #define EXT2_INODE_EXTENTS                             0x00080000
+#define EXT2_INODE_LARGE_EA                            0x00200000
+#define EXT2_INODE_EOF_BLOCKS                  0x00400000
+#define EXT2_INODE_INLINE_DATA                 0x10000000
+#define EXT2_INODE_RESERVED                            0x80000000
 
 #define EXT2_INODE_INHERITED (EXT2_INODE_SECURE_DELETION | EXT2_INODE_UNDELETE 
\
        | EXT2_INODE_COMPRESSED | EXT2_INODE_SYNCHRONOUS | EXT2_INODE_IMMUTABLE 
\

############################################################################

Commit:      a933ad6dbc4c65c3344084dcbc9ea6a2817e9c8c
Author:      Jérôme Duval <jerome.duval@xxxxxxxxx>
Date:        Sat Sep 14 09:48:37 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:18 2013 UTC

virtio_net: initial skeleton driver.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/network/Jamfile 
b/src/add-ons/kernel/drivers/network/Jamfile
index 2940c7e..224ba0c 100644
--- a/src/add-ons/kernel/drivers/network/Jamfile
+++ b/src/add-ons/kernel/drivers/network/Jamfile
@@ -9,6 +9,7 @@ SubInclude HAIKU_TOP src add-ons kernel drivers network 
usb_asix ;
 SubInclude HAIKU_TOP src add-ons kernel drivers network usb_davicom ;
 SubInclude HAIKU_TOP src add-ons kernel drivers network usb_ecm ;
 SubInclude HAIKU_TOP src add-ons kernel drivers network via_rhine ;
+SubInclude HAIKU_TOP src add-ons kernel drivers network virtio ;
 SubInclude HAIKU_TOP src add-ons kernel drivers network vlance ;
 SubInclude HAIKU_TOP src add-ons kernel drivers network wb840 ;
 
diff --git a/src/add-ons/kernel/drivers/network/virtio/Jamfile 
b/src/add-ons/kernel/drivers/network/virtio/Jamfile
new file mode 100644
index 0000000..f813111
--- /dev/null
+++ b/src/add-ons/kernel/drivers/network/virtio/Jamfile
@@ -0,0 +1,8 @@
+SubDir HAIKU_TOP src add-ons kernel drivers network virtio ;
+
+UsePrivateKernelHeaders ;
+UsePrivateHeaders drivers net virtio ;
+
+KernelAddon virtio_net :
+       virtio_net.cpp
+;
diff --git a/src/add-ons/kernel/drivers/network/virtio/virtio_net.cpp 
b/src/add-ons/kernel/drivers/network/virtio/virtio_net.cpp
new file mode 100644
index 0000000..92801fe
--- /dev/null
+++ b/src/add-ons/kernel/drivers/network/virtio/virtio_net.cpp
@@ -0,0 +1,317 @@
+/*
+ * Copyright 2013, Jérôme Duval, korli@xxxxxxxxxxxxxxxx.
+ * Distributed under the terms of the MIT License.
+ */
+
+
+#include <ethernet.h>
+#include <virtio.h>
+
+#define ETHER_ADDR_LEN ETHER_ADDRESS_LENGTH
+#include "virtio_net.h"
+
+
+
+#define VIRTIO_NET_DRIVER_MODULE_NAME "drivers/network/virtio_net/driver_v1"
+#define VIRTIO_NET_DEVICE_MODULE_NAME "drivers/network/virtio_net/device_v1"
+#define VIRTIO_NET_DEVICE_ID_GENERATOR "virtio_net/device_id"
+
+
+typedef struct {
+       device_node*                    node;
+       ::virtio_device                 virtio_device;
+       virtio_device_interface*        virtio;
+
+       uint32                                  features;
+
+} virtio_net_driver_info;
+
+
+typedef struct {
+       virtio_net_driver_info*         info;
+} virtio_net_handle;
+
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include <fs/devfs.h>
+
+
+#define TRACE_VIRTIO_NET
+#ifdef TRACE_VIRTIO_NET
+#      define TRACE(x...) dprintf("virtio_net: " x)
+#else
+#      define TRACE(x...) ;
+#endif
+#define ERROR(x...)                    dprintf("\33[33mvirtio_net:\33[0m " x)
+#define CALLED()                       TRACE("CALLED %s\n", 
__PRETTY_FUNCTION__)
+
+
+static device_manager_info* sDeviceManager;
+
+
+const char *
+get_feature_name(uint32 feature)
+{
+       switch (feature) {
+       }
+       return NULL;
+}
+
+
+//     #pragma mark - device module API
+
+
+static status_t
+virtio_net_init_device(void* _info, void** _cookie)
+{
+       CALLED();
+       virtio_net_driver_info* info = (virtio_net_driver_info*)_info;
+
+       device_node* parent = sDeviceManager->get_parent_node(info->node);
+       sDeviceManager->get_driver(parent, (driver_module_info **)&info->virtio,
+               (void **)&info->virtio_device);
+       sDeviceManager->put_node(parent);
+
+       info->virtio->negociate_features(info->virtio_device,
+               0, &info->features, &get_feature_name);
+
+       // TODO read config
+       // TODO alloc queues and setup interrupts
+
+       *_cookie = info;
+       return B_OK;
+}
+
+
+static void
+virtio_net_uninit_device(void* _cookie)
+{
+       CALLED();
+       virtio_net_driver_info* info = (virtio_net_driver_info*)_cookie;
+}
+
+
+static status_t
+virtio_net_open(void* _info, const char* path, int openMode, void** _cookie)
+{
+       CALLED();
+       virtio_net_driver_info* info = (virtio_net_driver_info*)_info;
+
+       virtio_net_handle* handle = (virtio_net_handle*)malloc(
+               sizeof(virtio_net_handle));
+       if (handle == NULL)
+               return B_NO_MEMORY;
+
+       handle->info = info;
+
+       *_cookie = handle;
+       return B_OK;
+}
+
+
+static status_t
+virtio_net_close(void* cookie)
+{
+       //virtio_net_handle* handle = (virtio_net_handle*)cookie;
+       CALLED();
+
+       return B_OK;
+}
+
+
+static status_t
+virtio_net_free(void* cookie)
+{
+       CALLED();
+       virtio_net_handle* handle = (virtio_net_handle*)cookie;
+
+       free(handle);
+       return B_OK;
+}
+
+
+static status_t
+virtio_net_read(void* cookie, off_t pos, void* buffer, size_t* _length)
+{
+       CALLED();
+       virtio_net_handle* handle = (virtio_net_handle*)cookie;
+       // TODO implement
+       return B_ERROR;
+}
+
+
+static status_t
+virtio_net_write(void* cookie, off_t pos, const void* buffer,
+       size_t* _length)
+{
+       CALLED();
+       virtio_net_handle* handle = (virtio_net_handle*)cookie;
+       // TODO implement
+       return B_ERROR;
+}
+
+
+static status_t
+virtio_net_ioctl(void* cookie, uint32 op, void* buffer, size_t length)
+{
+       CALLED();
+       virtio_net_handle* handle = (virtio_net_handle*)cookie;
+       virtio_net_driver_info* info = handle->info;
+
+       TRACE("ioctl(op = %ld)\n", op);
+
+       switch (op) {
+       }
+
+       return B_DEV_INVALID_IOCTL;
+}
+
+
+//     #pragma mark - driver module API
+
+
+static float
+virtio_net_supports_device(device_node *parent)
+{
+       CALLED();
+       const char *bus;
+       uint16 deviceType;
+
+       // make sure parent is really the Virtio bus manager
+       if (sDeviceManager->get_attr_string(parent, B_DEVICE_BUS, &bus, false))
+               return -1;
+
+       if (strcmp(bus, "virtio"))
+               return 0.0;
+
+       // check whether it's really a Direct Access Device
+       if (sDeviceManager->get_attr_uint16(parent, VIRTIO_DEVICE_TYPE_ITEM,
+                       &deviceType, true) != B_OK || deviceType != 
VIRTIO_DEVICE_ID_NETWORK)
+               return 0.0;
+
+       TRACE("Virtio network device found!\n");
+
+       return 0.6;
+}
+
+
+static status_t
+virtio_net_register_device(device_node *node)
+{
+       CALLED();
+
+       // ready to register
+       device_attr attrs[] = {
+               { NULL }
+       };
+
+       return sDeviceManager->register_node(node, 
VIRTIO_NET_DRIVER_MODULE_NAME,
+               attrs, NULL, NULL);
+}
+
+
+static status_t
+virtio_net_init_driver(device_node *node, void **cookie)
+{
+       CALLED();
+
+       virtio_net_driver_info* info = (virtio_net_driver_info*)malloc(
+               sizeof(virtio_net_driver_info));
+       if (info == NULL)
+               return B_NO_MEMORY;
+
+       memset(info, 0, sizeof(*info));
+
+       info->node = node;
+
+       *cookie = info;
+       return B_OK;
+}
+
+
+static void
+virtio_net_uninit_driver(void *_cookie)
+{
+       CALLED();
+       virtio_net_driver_info* info = (virtio_net_driver_info*)_cookie;
+       free(info);
+}
+
+
+static status_t
+virtio_net_register_child_devices(void* _cookie)
+{
+       CALLED();
+       virtio_net_driver_info* info = (virtio_net_driver_info*)_cookie;
+       status_t status;
+
+       int32 id = sDeviceManager->create_id(VIRTIO_NET_DEVICE_ID_GENERATOR);
+       if (id < 0)
+               return id;
+
+       char name[64];
+       snprintf(name, sizeof(name), "net/virtio/%" B_PRId32,
+               id);
+
+       status = sDeviceManager->publish_device(info->node, name,
+               VIRTIO_NET_DEVICE_MODULE_NAME);
+
+       return status;
+}
+
+
+//     #pragma mark -
+
+
+module_dependency module_dependencies[] = {
+       {B_DEVICE_MANAGER_MODULE_NAME, (module_info**)&sDeviceManager},
+       {}
+};
+
+struct device_module_info sVirtioNetDevice = {
+       {
+               VIRTIO_NET_DEVICE_MODULE_NAME,
+               0,
+               NULL
+       },
+
+       virtio_net_init_device,
+       virtio_net_uninit_device,
+       NULL, // remove,
+
+       virtio_net_open,
+       virtio_net_close,
+       virtio_net_free,
+       virtio_net_read,
+       virtio_net_write,
+       NULL,   // io
+       virtio_net_ioctl,
+
+       NULL,   // select
+       NULL,   // deselect
+};
+
+struct driver_module_info sVirtioNetDriver = {
+       {
+               VIRTIO_NET_DRIVER_MODULE_NAME,
+               0,
+               NULL
+       },
+
+       virtio_net_supports_device,
+       virtio_net_register_device,
+       virtio_net_init_driver,
+       virtio_net_uninit_driver,
+       virtio_net_register_child_devices,
+       NULL,   // rescan
+       NULL,   // removed
+};
+
+module_info* modules[] = {
+       (module_info*)&sVirtioNetDriver,
+       (module_info*)&sVirtioNetDevice,
+       NULL
+};
diff --git a/src/add-ons/kernel/drivers/network/virtio/virtio_net.h 
b/src/add-ons/kernel/drivers/network/virtio/virtio_net.h
new file mode 100644
index 0000000..315b730
--- /dev/null
+++ b/src/add-ons/kernel/drivers/network/virtio/virtio_net.h
@@ -0,0 +1,202 @@
+/*-
+ * This header is BSD licensed so anyone can use the definitions to implement
+ * compatible drivers/servers.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of IBM nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _VIRTIO_NET_H
+#define _VIRTIO_NET_H
+
+/* The feature bitmap for virtio net */
+#define VIRTIO_NET_F_CSUM      0x00001 /* Host handles pkts w/ partial csum */
+#define VIRTIO_NET_F_GUEST_CSUM 0x00002 /* Guest handles pkts w/ partial csum*/
+#define VIRTIO_NET_F_MAC       0x00020 /* Host has given MAC address. */
+#define VIRTIO_NET_F_GSO       0x00040 /* Host handles pkts w/ any GSO type */
+#define VIRTIO_NET_F_GUEST_TSO4        0x00080 /* Guest can handle TSOv4 in. */
+#define VIRTIO_NET_F_GUEST_TSO6        0x00100 /* Guest can handle TSOv6 in. */
+#define VIRTIO_NET_F_GUEST_ECN 0x00200 /* Guest can handle TSO[6] w/ ECN in.*/
+#define VIRTIO_NET_F_GUEST_UFO 0x00400 /* Guest can handle UFO in. */
+#define VIRTIO_NET_F_HOST_TSO4 0x00800 /* Host can handle TSOv4 in. */
+#define VIRTIO_NET_F_HOST_TSO6 0x01000 /* Host can handle TSOv6 in. */
+#define VIRTIO_NET_F_HOST_ECN  0x02000 /* Host can handle TSO[6] w/ ECN in. */
+#define VIRTIO_NET_F_HOST_UFO  0x04000 /* Host can handle UFO in. */
+#define VIRTIO_NET_F_MRG_RXBUF 0x08000 /* Host can merge receive buffers. */
+#define VIRTIO_NET_F_STATUS    0x10000 /* virtio_net_config.status available*/
+#define VIRTIO_NET_F_CTRL_VQ   0x20000 /* Control channel available */
+#define VIRTIO_NET_F_CTRL_RX   0x40000 /* Control channel RX mode support */
+#define VIRTIO_NET_F_CTRL_VLAN 0x80000 /* Control channel VLAN filtering */
+#define VIRTIO_NET_F_CTRL_RX_EXTRA 0x100000 /* Extra RX mode control support */
+#define VIRTIO_NET_F_GUEST_ANNOUNCE 0x200000 /* Announce device on network */
+#define VIRTIO_NET_F_MQ                0x400000 /* Device supports RFS */
+#define VIRTIO_NET_F_CTRL_MAC_ADDR 0x800000 /* Set MAC address */
+
+#define VIRTIO_NET_S_LINK_UP   1       /* Link is up */
+
+struct virtio_net_config {
+       /* The config defining mac address (if VIRTIO_NET_F_MAC) */
+       uint8_t         mac[ETHER_ADDR_LEN];
+       /* See VIRTIO_NET_F_STATUS and VIRTIO_NET_S_* above */
+       uint16_t        status;
+       /* Maximum number of each of transmit and receive queues;
+        * see VIRTIO_NET_F_MQ and VIRTIO_NET_CTRL_MQ.
+        * Legal values are between 1 and 0x8000.
+        */
+       uint16_t        max_virtqueue_pairs;
+} _PACKED;
+
+/*
+ * This is the first element of the scatter-gather list.  If you don't
+ * specify GSO or CSUM features, you can simply ignore the header.
+ */
+struct virtio_net_hdr {
+#define VIRTIO_NET_HDR_F_NEEDS_CSUM    1       /* Use csum_start,csum_offset*/
+#define VIRTIO_NET_HDR_F_DATA_VALID    2       /* Csum is valid */
+       uint8_t flags;
+#define VIRTIO_NET_HDR_GSO_NONE                0       /* Not a GSO frame */
+#define VIRTIO_NET_HDR_GSO_TCPV4       1       /* GSO frame, IPv4 TCP (TSO) */
+#define VIRTIO_NET_HDR_GSO_UDP         3       /* GSO frame, IPv4 UDP (UFO) */
+#define VIRTIO_NET_HDR_GSO_TCPV6       4       /* GSO frame, IPv6 TCP */
+#define VIRTIO_NET_HDR_GSO_ECN         0x80    /* TCP has ECN set */
+       uint8_t gso_type;
+       uint16_t hdr_len;       /* Ethernet + IP + tcp/udp hdrs */
+       uint16_t gso_size;      /* Bytes to append to hdr_len per frame */
+       uint16_t csum_start;    /* Position to start checksumming from */
+       uint16_t csum_offset;   /* Offset after that to place checksum */
+};
+
+/*
+ * This is the version of the header to use when the MRG_RXBUF
+ * feature has been negotiated.
+ */
+struct virtio_net_hdr_mrg_rxbuf {
+       struct virtio_net_hdr hdr;
+       uint16_t num_buffers;   /* Number of merged rx buffers */
+};
+
+/*
+ * Control virtqueue data structures
+ *
+ * The control virtqueue expects a header in the first sg entry
+ * and an ack/status response in the last entry.  Data for the
+ * command goes in between.
+ */
+struct virtio_net_ctrl_hdr {
+       uint8_t net_class;      // was renamed from class for c++
+       uint8_t cmd;
+} _PACKED;
+
+#define VIRTIO_NET_OK  0
+#define VIRTIO_NET_ERR 1
+
+/*
+ * Control the RX mode, ie. promiscuous, allmulti, etc...
+ * All commands require an "out" sg entry containing a 1 byte
+ * state value, zero = disable, non-zero = enable.  Commands
+ * 0 and 1 are supported with the VIRTIO_NET_F_CTRL_RX feature.
+ * Commands 2-5 are added with VIRTIO_NET_F_CTRL_RX_EXTRA.
+ */
+#define VIRTIO_NET_CTRL_RX     0
+#define VIRTIO_NET_CTRL_RX_PROMISC     0
+#define VIRTIO_NET_CTRL_RX_ALLMULTI    1
+#define VIRTIO_NET_CTRL_RX_ALLUNI      2
+#define VIRTIO_NET_CTRL_RX_NOMULTI     3
+#define VIRTIO_NET_CTRL_RX_NOUNI       4
+#define VIRTIO_NET_CTRL_RX_NOBCAST     5
+
+/*
+ * Control the MAC filter table.
+ *
+ * The MAC filter table is managed by the hypervisor, the guest should
+ * assume the size is infinite.  Filtering should be considered
+ * non-perfect, ie. based on hypervisor resources, the guest may
+ * received packets from sources not specified in the filter list.
+ *
+ * In addition to the class/cmd header, the TABLE_SET command requires
+ * two out scatterlists.  Each contains a 4 byte count of entries followed
+ * by a concatenated byte stream of the ETH_ALEN MAC addresses.  The
+ * first sg list contains unicast addresses, the second is for multicast.
+ * This functionality is present if the VIRTIO_NET_F_CTRL_RX feature
+ * is available.
+ *
+ * The ADDR_SET command requests one out scatterlist, it contains a
+ * 6 bytes MAC address. This functionality is present if the
+ * VIRTIO_NET_F_CTRL_MAC_ADDR feature is available.
+ */
+struct virtio_net_ctrl_mac {
+       uint32_t        entries;
+       uint8_t         macs[][ETHER_ADDR_LEN];
+} _PACKED;
+
+#define VIRTIO_NET_CTRL_MAC    1
+#define VIRTIO_NET_CTRL_MAC_TABLE_SET  0
+#define VIRTIO_NET_CTRL_MAC_ADDR_SET   1
+
+/*
+ * Control VLAN filtering
+ *
+ * The VLAN filter table is controlled via a simple ADD/DEL interface.
+ * VLAN IDs not added may be filtered by the hypervisor.  Del is the
+ * opposite of add.  Both commands expect an out entry containing a 2
+ * byte VLAN ID.  VLAN filtering is available with the
+ * VIRTIO_NET_F_CTRL_VLAN feature bit.
+ */
+#define VIRTIO_NET_CTRL_VLAN   2
+#define VIRTIO_NET_CTRL_VLAN_ADD       0
+#define VIRTIO_NET_CTRL_VLAN_DEL       1
+
+/*
+ * Control link announce acknowledgement
+ *
+ * The command VIRTIO_NET_CTRL_ANNOUNCE_ACK is used to indicate that
+ * driver has recevied the notification; device would clear the
+ * VIRTIO_NET_S_ANNOUNCE bit in the status field after it receives
+ * this command.
+ */
+#define VIRTIO_NET_CTRL_ANNOUNCE       3
+#define VIRTIO_NET_CTRL_ANNOUNCE_ACK   0
+
+/*
+ * Control Receive Flow Steering
+ *
+ * The command VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET enables Receive Flow
+ * Steering, specifying the number of the transmit and receive queues
+ * that will be used. After the command is consumed and acked by the
+ * device, the device will not steer new packets on receive virtqueues
+ * other than specified nor read from transmit virtqueues other than
+ * specified. Accordingly, driver should not transmit new packets on
+ * virtqueues other than specified.
+ */
+struct virtio_net_ctrl_mq {
+       uint16_t        virtqueue_pairs;
+} _PACKED;
+
+#define VIRTIO_NET_CTRL_MQ     4
+#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET                0
+#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MIN                1
+#define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX                0x8000
+
+#endif /* _VIRTIO_NET_H */

############################################################################

Commit:      5594217b7f252284955547636a6edcc97dbd214d
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Sat Sep 14 15:07:55 2013 UTC

Fix accidentally truncated addresses in call frame unwind.

----------------------------------------------------------------------------

diff --git a/src/apps/debugger/arch/x86_64/ArchitectureX8664.cpp 
b/src/apps/debugger/arch/x86_64/ArchitectureX8664.cpp
index 0922808..73bd4a5 100644
--- a/src/apps/debugger/arch/x86_64/ArchitectureX8664.cpp
+++ b/src/apps/debugger/arch/x86_64/ArchitectureX8664.cpp
@@ -315,8 +315,8 @@ ArchitectureX8664::CreateStackFrame(Image* image, 
FunctionDebugInfo* function,
 
                // The syscall stubs are frameless, the return address is on 
top of the
                // stack.
-               uint32 rsp = cpuState->IntRegisterValue(X86_64_REGISTER_RSP);
-               uint32 address;
+               uint64 rsp = cpuState->IntRegisterValue(X86_64_REGISTER_RSP);
+               uint64 address;
                if (fTeamMemory->ReadMemory(rsp, &address, 8) == 8) {
                        returnAddress = address;
                        previousFramePointer = framePointer;

############################################################################

Commit:      672b2600bca6c06ecdeae9739b8141265f6afebe
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Sat Sep 14 15:23:04 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:19 2013 UTC

ARM: kernel: Fix compilation issue with new gas.

Turns out the new gas does not like spaces :(

----------------------------------------------------------------------------

diff --git a/src/system/kernel/arch/arm/arch_asm.S 
b/src/system/kernel/arch/arm/arch_asm.S
index eb570a5..689f615 100644
--- a/src/system/kernel/arch/arm/arch_asm.S
+++ b/src/system/kernel/arch/arm/arch_asm.S
@@ -227,8 +227,8 @@ FUNCTION(arch_debug_call_with_fault_handler):
        // Set fault handler address, and fault handler stack pointer address. 
We
        // don't need to save the previous values, since that's done by the 
caller.
        ldr     r4, =1f
-       str     r4, [ r0, #CPU_ENT_fault_handler ]
-       str     sp, [ r0, #CPU_ENT_fault_handler_stack_pointer ]
+       str     r4, [r0, #CPU_ENT_fault_handler]
+       str     sp, [r0, #CPU_ENT_fault_handler_stack_pointer]
        mov     r4, r1
 
        // call the function

############################################################################

Commit:      1ea8fd5216a6c2c7b48efc1f4f5f774864fc8692
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Sat Sep 14 15:46:00 2013 UTC

Debugger: Add missing std::nothrow.

----------------------------------------------------------------------------

diff --git a/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp 
b/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp
index 113c6cb..b3cd434 100644
--- a/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp
+++ b/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp
@@ -2103,7 +2103,7 @@ status_t
 VariablesView::_AddContextAction(const char* action, uint32 what,
        ContextActionList* actions, BMessage*& _message)
 {
-       _message = new BMessage(what);
+       _message = new(std::nothrow) BMessage(what);
        if (_message == NULL)
                return B_NO_MEMORY;
 

############################################################################

Commit:      5077cb09cb7a05a873599df1f8bf1dbfcdc60d75
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Sat Sep 14 15:53:54 2013 UTC

Debugger: add Inspect context item to Registers view.

- Allows one to treat the value of a register as a memory
  address and jump directly to inspecting said address.

----------------------------------------------------------------------------

diff --git a/src/apps/debugger/user_interface/gui/team_window/RegistersView.cpp 
b/src/apps/debugger/user_interface/gui/team_window/RegistersView.cpp
index 239b6f5..031bb6b 100644
--- a/src/apps/debugger/user_interface/gui/team_window/RegistersView.cpp
+++ b/src/apps/debugger/user_interface/gui/team_window/RegistersView.cpp
@@ -1,6 +1,6 @@
 /*
  * Copyright 2009-2012, Ingo Weinhold, ingo_weinhold@xxxxxx.
- * Copyright 2011, Rene Gollent, rene@xxxxxxxxxxx.
+ * Copyright 2011-2013, Rene Gollent, rene@xxxxxxxxxxx.
  * Distributed under the terms of the MIT License.
  */
 
@@ -11,12 +11,17 @@
 #include <new>
 
 #include <ControlLook.h>
+#include <MenuItem.h>
+#include <PopUpMenu.h>
+#include <Window.h>
 
 #include "table/TableColumns.h"
 
 #include "Architecture.h"
+#include "AutoDeleter.h"
 #include "CpuState.h"
 #include "GuiSettingsUtils.h"
+#include "MessageCodes.h"
 #include "Register.h"
 #include "UiUtils.h"
 
@@ -230,6 +235,48 @@ RegistersView::TableRowInvoked(Table* table, int32 
rowIndex)
 
 
 void
+RegistersView::TableCellMouseDown(Table* table, int32 rowIndex,
+       int32 columnIndex, BPoint screenWhere,  uint32 buttons)
+{
+       if ((buttons & B_SECONDARY_MOUSE_BUTTON) == 0)
+               return;
+
+       BVariant value;
+       if (!fRegisterTableModel->GetValueAt(rowIndex, columnIndex, value))
+               return;
+
+       BPopUpMenu* menu = new(std::nothrow)BPopUpMenu("Options");
+       if (menu == NULL)
+               return;
+
+       ObjectDeleter<BPopUpMenu> menuDeleter(menu);
+       BMessage* message = 
new(std::nothrow)BMessage(MSG_SHOW_INSPECTOR_WINDOW);
+       if (message == NULL)
+               return;
+
+       message->AddUInt64("address", value.ToUInt64());
+
+       ObjectDeleter<BMessage> messageDeleter(message);
+       BMenuItem* item = new(std::nothrow)BMenuItem("Inspect", message);
+       if (item == NULL)
+               return;
+
+       messageDeleter.Detach();
+       ObjectDeleter<BMenuItem> itemDeleter(item);
+       if (!menu->AddItem(item))
+               return;
+
+       itemDeleter.Detach();
+       menu->SetTargetForItems(Window());
+       menuDeleter.Detach();
+
+       BRect mouseRect(screenWhere, screenWhere);
+       mouseRect.InsetBy(-4.0, -4.0);
+       menu->Go(screenWhere, true, false, mouseRect, true);
+}
+
+
+void
 RegistersView::_Init()
 {
        fRegisterTable = new Table("register list", 0, B_FANCY_BORDER);
diff --git a/src/apps/debugger/user_interface/gui/team_window/RegistersView.h 
b/src/apps/debugger/user_interface/gui/team_window/RegistersView.h
index 8c68092..e3c0b27 100644
--- a/src/apps/debugger/user_interface/gui/team_window/RegistersView.h
+++ b/src/apps/debugger/user_interface/gui/team_window/RegistersView.h
@@ -1,5 +1,6 @@
 /*
  * Copyright 2009, Ingo Weinhold, ingo_weinhold@xxxxxx.
+ * Copyright 2013, Rene Gollent, rene@xxxxxxxxxxx.
  * Distributed under the terms of the MIT License.
  */
 #ifndef REGISTERS_VIEW_H
@@ -35,6 +36,10 @@ private:
        // TableListener
        virtual void                            TableRowInvoked(Table* table, 
int32 rowIndex);
 
+       virtual void                            TableCellMouseDown(Table* 
table, int32 rowIndex,
+                                                                       int32 
columnIndex, BPoint screenWhere,
+                                                                       uint32 
buttons);
+
                        void                            _Init();
 
 private:

############################################################################

Commit:      eb8616334b07e50fe041f0011abd25956b858e56
Author:      Jérôme Duval <jerome.duval@xxxxxxxxx>
Date:        Sat Sep 14 13:37:24 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:20 2013 UTC

virtio_net: add feature labels.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/network/virtio/virtio_net.cpp 
b/src/add-ons/kernel/drivers/network/virtio/virtio_net.cpp
index 92801fe..1c9fe19 100644
--- a/src/add-ons/kernel/drivers/network/virtio/virtio_net.cpp
+++ b/src/add-ons/kernel/drivers/network/virtio/virtio_net.cpp
@@ -56,6 +56,48 @@ const char *
 get_feature_name(uint32 feature)
 {
        switch (feature) {
+               case VIRTIO_NET_F_CSUM:
+                       return "host checksum";
+               case VIRTIO_NET_F_GUEST_CSUM:
+                       return "guest checksum";
+               case VIRTIO_NET_F_MAC:
+                       return "macaddress";
+               case VIRTIO_NET_F_GSO:
+                       return "host allgso";
+               case VIRTIO_NET_F_GUEST_TSO4:
+                       return "guest tso4";
+               case VIRTIO_NET_F_GUEST_TSO6:
+                       return "guest tso6";
+               case VIRTIO_NET_F_GUEST_ECN:
+                       return "guest tso6+ecn";
+               case VIRTIO_NET_F_GUEST_UFO:
+                       return "guest ufo";
+               case VIRTIO_NET_F_HOST_TSO4:
+                       return "host tso4";
+               case VIRTIO_NET_F_HOST_TSO6:
+                       return "host tso6";
+               case VIRTIO_NET_F_HOST_ECN:
+                       return "host tso6+ecn";
+               case VIRTIO_NET_F_HOST_UFO:
+                       return "host UFO";
+               case VIRTIO_NET_F_MRG_RXBUF:
+                       return "host mergerxbuffers";
+               case VIRTIO_NET_F_STATUS:
+                       return "status";
+               case VIRTIO_NET_F_CTRL_VQ:
+                       return "control vq";
+               case VIRTIO_NET_F_CTRL_RX:
+                       return "rx mode";
+               case VIRTIO_NET_F_CTRL_VLAN:
+                       return "vlan filter";
+               case VIRTIO_NET_F_CTRL_RX_EXTRA:
+                       return "rx mode extra";
+               case VIRTIO_NET_F_GUEST_ANNOUNCE:
+                       return "guest announce";
+               case VIRTIO_NET_F_MQ:
+                       return "multiqueue";
+               case VIRTIO_NET_F_CTRL_MAC_ADDR:
+                       return "set macaddress";
        }
        return NULL;
 }
@@ -76,7 +118,7 @@ virtio_net_init_device(void* _info, void** _cookie)
        sDeviceManager->put_node(parent);
 
        info->virtio->negociate_features(info->virtio_device,
-               0, &info->features, &get_feature_name);
+               0 /*  */, &info->features, &get_feature_name);
 
        // TODO read config
        // TODO alloc queues and setup interrupts

############################################################################

Commit:      28cf626d45e65e0c1c5a2919f7a471425ee2a1ad
Author:      Jérôme Duval <jerome.duval@xxxxxxxxx>
Date:        Sat Sep 14 16:01:41 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:21 2013 UTC

virtio_net: allocate queues, read macaddress, handle ioctl.

----------------------------------------------------------------------------

diff --git a/src/add-ons/kernel/drivers/network/virtio/virtio_net.cpp 
b/src/add-ons/kernel/drivers/network/virtio/virtio_net.cpp
index 1c9fe19..4a6a66e 100644
--- a/src/add-ons/kernel/drivers/network/virtio/virtio_net.cpp
+++ b/src/add-ons/kernel/drivers/network/virtio/virtio_net.cpp
@@ -7,10 +7,14 @@
 #include <ethernet.h>
 #include <virtio.h>
 
+#include <net/if_media.h>
+#include <new>
+
+#include "ether_driver.h"
 #define ETHER_ADDR_LEN ETHER_ADDRESS_LENGTH
 #include "virtio_net.h"
 
-
+#define MAX_FRAME_SIZE 1536
 
 #define VIRTIO_NET_DRIVER_MODULE_NAME "drivers/network/virtio_net/driver_v1"
 #define VIRTIO_NET_DEVICE_MODULE_NAME "drivers/network/virtio_net/device_v1"
@@ -24,6 +28,15 @@ typedef struct {
 
        uint32                                  features;
 
+       uint32                                  pairs_count;
+       ::virtio_queue*                 receive_queues;
+       ::virtio_queue*                 send_queues;
+
+
+       bool                                    nonblocking;
+       uint32                                  maxframesize;
+       uint8                                   macaddr[6];
+
 } virtio_net_driver_info;
 
 
@@ -120,8 +133,41 @@ virtio_net_init_device(void* _info, void** _cookie)
        info->virtio->negociate_features(info->virtio_device,
                0 /*  */, &info->features, &get_feature_name);
 
+       if ((info->features & VIRTIO_NET_F_MQ) != 0
+                       && info->virtio->read_device_config(info->virtio_device,
+                               offsetof(struct virtio_net_config, 
max_virtqueue_pairs),
+                               &info->pairs_count, sizeof(info->pairs_count)) 
== B_OK) {
+               system_info sysinfo;
+               if (get_system_info(&sysinfo) == B_OK
+                       && info->pairs_count > sysinfo.cpu_count) {
+                       info->pairs_count = sysinfo.cpu_count;
+               }
+       } else
+               info->pairs_count = 1;
+
        // TODO read config
-       // TODO alloc queues and setup interrupts
+
+       uint32 queueCount = info->pairs_count * 2;
+       if ((info->features & VIRTIO_NET_F_CTRL_VQ) != 0)
+               queueCount++;
+       ::virtio_queue virtioQueues[queueCount];
+       status_t status = info->virtio->alloc_queues(info->virtio_device, 
queueCount,
+               virtioQueues);
+       if (status != B_OK) {
+               ERROR("queue allocation failed (%s)\n", strerror(status));
+               return status;
+       }
+
+       info->receive_queues = new(std::nothrow) 
virtio_queue[info->pairs_count];
+       info->send_queues = new(std::nothrow) virtio_queue[info->pairs_count];
+       if (info->receive_queues == NULL || info->receive_queues == NULL)
+               return B_NO_MEMORY;
+       for (uint32 i = 0; i < info->pairs_count; i++) {
+               info->receive_queues[i] = virtioQueues[i * 2];
+               info->send_queues[i] = virtioQueues[i * 2 + 1];
+       }
+
+       // TODO setup interrupts
 
        *_cookie = info;
        return B_OK;
@@ -147,8 +193,16 @@ virtio_net_open(void* _info, const char* path, int 
openMode, void** _cookie)
        if (handle == NULL)
                return B_NO_MEMORY;
 
+       info->nonblocking = (openMode & O_NONBLOCK) != 0;
+       info->maxframesize = MAX_FRAME_SIZE;
        handle->info = info;
 
+       if ((info->features & VIRTIO_NET_F_MAC) != 0) {
+               info->virtio->read_device_config(info->virtio_device,
+                       offsetof(struct virtio_net_config, mac),
+                       &info->macaddr, sizeof(info->macaddr));
+       }
+
        *_cookie = handle;
        return B_OK;
 }
@@ -203,11 +257,60 @@ virtio_net_ioctl(void* cookie, uint32 op, void* buffer, 
size_t length)
        virtio_net_handle* handle = (virtio_net_handle*)cookie;
        virtio_net_driver_info* info = handle->info;
 
-       TRACE("ioctl(op = %ld)\n", op);
+       TRACE("ioctl(op = %lx)\n", op);
 
        switch (op) {
+               case ETHER_GETADDR:
+                       TRACE("ioctl: get macaddr\n");
+                       memcpy(buffer, &info->macaddr, sizeof(info->macaddr));
+                       return B_OK;
+
+               case ETHER_INIT:
+                       TRACE("ioctl: init\n");
+                       return B_OK;
+
+               case ETHER_GETFRAMESIZE:
+                       TRACE("ioctl: get frame size\n");
+                       *(uint32*)buffer = info->maxframesize;
+                       return B_OK;
+
+               case ETHER_SETPROMISC:
+                       TRACE("ioctl: set promisc\n");
+                       break;
+
+               case ETHER_NONBLOCK:
+                       info->nonblocking = *(int32 *)buffer == 0;
+                       TRACE("ioctl: non blocking ? %s\n", info->nonblocking ? 
"yes" : "no");
+                       return B_OK;
+
+               case ETHER_ADDMULTI:
+                       TRACE("ioctl: add multicast\n");
+                       break;
+
+               case ETHER_GET_LINK_STATE:
+               {
+                       TRACE("ioctl: get link state\n");
+                       ether_link_state_t state;
+                       uint16 status = VIRTIO_NET_S_LINK_UP;
+                       if ((info->features & VIRTIO_NET_F_STATUS) != 0) {
+                               
info->virtio->read_device_config(info->virtio_device,
+                                       offsetof(struct virtio_net_config, 
status),
+                                       &status, sizeof(status));
+                       }
+                       state.media = ((status & VIRTIO_NET_S_LINK_UP) != 0 ? 
IFM_ACTIVE : 0)
+                               | IFM_ETHER | IFM_FULL_DUPLEX | IFM_10G_T;
+                       state.speed = 10000000000ULL;
+                       state.quality = 1000;
+
+                       return user_memcpy(buffer, &state, 
sizeof(ether_link_state_t));
+               }
+
+               default:
+                       ERROR("ioctl: unknown message %" B_PRIx32 "\n", op);
+                       break;
        }
 
+
        return B_DEV_INVALID_IOCTL;
 }
 

############################################################################

Commit:      5a2c5827e4c0360ed36eddb24b759872d685ed40
Author:      Jérôme Duval <jerome.duval@xxxxxxxxx>
Date:        Sat Sep 14 16:11:43 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:21 2013 UTC

add a constant for 10G base T ethernet.

----------------------------------------------------------------------------

diff --git a/headers/posix/net/if_media.h b/headers/posix/net/if_media.h
index e0fdc4e..ca67cf6 100644
--- a/headers/posix/net/if_media.h
+++ b/headers/posix/net/if_media.h
@@ -31,6 +31,7 @@
 #define        IFM_100_TX              6                       /* 100Base-TX - 
RJ45 */
 #define IFM_1000_T             16                      /* 1000Base-T - RJ45 */
 #define IFM_1000_SX            18                      /* 1000Base-SX - Fiber 
Optic */
+#define IFM_10G_T              22                      /* 10GBase-T - RJ45 */
 
 /* General options */
 
diff --git a/src/bin/network/ifconfig/ifconfig.cpp 
b/src/bin/network/ifconfig/ifconfig.cpp
index e103055..bd36e3c 100644
--- a/src/bin/network/ifconfig/ifconfig.cpp
+++ b/src/bin/network/ifconfig/ifconfig.cpp
@@ -105,6 +105,7 @@ static const media_type kMediaTypes[] = {
                        { IFM_100_TX, "100baseTX", "100 MBit, 100BASE-TX" },
                        { IFM_1000_T, "1000baseT", "1 GBit, 1000BASE-T" },
                        { IFM_1000_SX, "1000baseSX", "1 GBit, 1000BASE-SX" },
+                       { IFM_10G_T, "10GbaseT", "10 GBit, 10GBASE-T" },
                        { -1, NULL, NULL }
                },
                {
@@ -1012,4 +1013,3 @@ main(int argc, char** argv)
        list_interfaces(name);
        return 0;
 }
-

############################################################################

Commit:      acd58c2f6c9778fd8fea213a94dd709220256406
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Sat Sep 14 18:13:36 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:21 2013 UTC

ARM: boot: Make dd on MacOS happy

Turns out dd on MacOS does not like '1M' as size descriptor, but
wants '1m'. To prevent us breaking Linux builds (as it does not
accept 1m), just use the actual number of bytes explicitely instead.

----------------------------------------------------------------------------

diff --git a/src/system/boot/platform/u-boot/Jamfile 
b/src/system/boot/platform/u-boot/Jamfile
index f8fe507..7ce4ed8 100644
--- a/src/system/boot/platform/u-boot/Jamfile
+++ b/src/system/boot/platform/u-boot/Jamfile
@@ -151,7 +151,7 @@ actions BuildUImageScript1
 rule BuildUBootSDImage image : files
 {
        Depends $(image) : $(files) ;
-       SDIMAGE_BLOCK_SIZE on $(image) = 1M ;
+       SDIMAGE_BLOCK_SIZE on $(image) = 1048576 ; # 1M
        SDIMAGE_SIZE on $(image) = $(HAIKU_BOARD_SDIMAGE_SIZE) ;
        SDIMAGE_FDISK on $(image) = $(HOST_SFDISK) ;
        SDIMAGE_FDISK_SCRIPT on $(image) =

############################################################################

Commit:      a7e9ce676fb1c4f4ade5e8dfc1b43053c035dbbc
Author:      John Scipione <jscipione@xxxxxxxxx>
Date:        Sat Sep 14 18:55:53 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:22 2013 UTC

Use uname -s instead of uname -o

...since BSD uname (on OS X at least) doesn't have a -o param, only a -s,
Haiku has both, and both print "Haiku".

----------------------------------------------------------------------------

diff --git a/build/scripts/build_cross_tools b/build/scripts/build_cross_tools
index 18f52a7..19e0ee3 100755
--- a/build/scripts/build_cross_tools
+++ b/build/scripts/build_cross_tools
@@ -20,7 +20,7 @@ additionalMakeArgs=$*
        # additional flags for the binutils build. Should there ever be any 
other
        # flags than -jN, we need to handle this differently.
 
-if [ `uname -o` = 'Haiku' ]; then
+if [ `uname -s` = 'Haiku' ]; then
        # force cross-build if building on Haiku:
        buildhostMachine=i586-pc-haiku_buildhost
        buildHostSpec="--build=$buildhostMachine --host=$buildhostMachine"
diff --git a/build/scripts/build_cross_tools_gcc4 
b/build/scripts/build_cross_tools_gcc4
index 51f89de..c418bb0 100755
--- a/build/scripts/build_cross_tools_gcc4
+++ b/build/scripts/build_cross_tools_gcc4
@@ -40,7 +40,7 @@ arm-*)
        ;;
 esac
 
-if [ `uname -o` = 'Haiku' ]; then
+if [ `uname -s` = 'Haiku' ]; then
        # force cross-build if building on Haiku:
        buildhostMachine=${haikuMachine}_buildhost
        buildHostSpec="--build=$buildhostMachine --host=$buildhostMachine"

############################################################################

Commit:      736c1f8c5160c2dafcbbcc5bafe72e00c1a16f1e
Author:      Jorma Karvonen <karvonen.jorma@xxxxxxxxx>
Date:        Sat Sep 14 20:43:44 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:22 2013 UTC

Ticket:      https://dev.haiku-os.org/ticket/7162

Localize bitsinfo

Closes ticket #7162.
Signed-off-by: Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx>

----------------------------------------------------------------------------

diff --git a/src/tools/translation/bitsinfo/Jamfile 
b/src/tools/translation/bitsinfo/Jamfile
index 50b011f..f021561 100644
--- a/src/tools/translation/bitsinfo/Jamfile
+++ b/src/tools/translation/bitsinfo/Jamfile
@@ -1,4 +1,15 @@
 SubDir HAIKU_TOP src tools translation bitsinfo ;
 
-BinCommand bitsinfo : bitsinfo.cpp : be $(TARGET_LIBSUPC++) ;
+SetSubDirSupportedPlatformsBeOSCompatible ;
 
+BinCommand bitsinfo : 
+       bitsinfo.cpp 
+       : be libbe.so $(HAIKU_LOCALE_LIBS) translation $(TARGET_LIBSTDC++) 
$(TARGET_LIBSUPC++) ;
+
+AddResources bitsinfo : bitsinfo.rdef ;
+
+DoCatalogs bitsinfo :
+       x-vnd.Haiku-bitsinfo
+       : 
+       bitsinfo.cpp
+;
diff --git a/src/tools/translation/bitsinfo/bitsinfo.cpp 
b/src/tools/translation/bitsinfo/bitsinfo.cpp
index 7446228..81a1328 100644
--- a/src/tools/translation/bitsinfo/bitsinfo.cpp
+++ b/src/tools/translation/bitsinfo/bitsinfo.cpp
@@ -38,10 +38,14 @@
 #include <stdlib.h>
 #include <string.h>
 #include <ByteOrder.h>
+#include <Catalog.h>
 #include <File.h>
 #include <TranslatorFormats.h>
 #include <StorageDefs.h>
 
+#undef B_TRANSLATE_CONTEXT
+#define B_TRANSLATE_CONTEXT "bitsinfo"
+
 struct ColorSpaceName { 
        color_space id;
        const char *name;
@@ -62,7 +66,8 @@ PrintBitsInfo(const char *filepath, bool bdumppixels)
                // read in the rest of the header
                ssize_t size = sizeof(TranslatorBitmap);
                if (file.Read(reinterpret_cast<uint8 *> (&header), size) != 
size) {
-                       printf("\nError: Unable to read the Be bitmap 
header.\n");
+                       printf(B_TRANSLATE("\nError: Unable to read the Be 
bitmap "
+                               "header.\n"));
                        return;
                }
                if (!bdumppixels)
@@ -72,28 +77,29 @@ PrintBitsInfo(const char *filepath, bool bdumppixels)
                // convert to host byte order
                if (swap_data(B_UINT32_TYPE, &header, sizeof(TranslatorBitmap),
                        B_SWAP_BENDIAN_TO_HOST) != B_OK) {
-                       printf("\nError: Unable to swap byte order\n");
+                       printf(B_TRANSLATE("\nError: Unable to swap byte 
order\n"));
                        return;
                }
                
-               printf("\nBe bitmap (\"bits\") header for: %s\n\n", filepath);
+               printf(B_TRANSLATE("\nBe bitmap (\"bits\") header for: 
%s\n\n"), 
+                       filepath);
        
                const uint32 kbitsmagic = 0x62697473UL;
                        // in ASCII, this number looks like "bits"
-               printf("magic number: 0x%.8lx ", header.magic);
                if (header.magic == kbitsmagic)
-                       printf("(valid)\n");
+                       printf(B_TRANSLATE("magic number: 0x%.8lx (valid)\n"), 
+                               header.magic);
                else
-                       printf("(INVALID, should be: 0x%.8lx)\n",
-                               kbitsmagic);
-               printf("bounds: (%f, %f, %f, %f)\n",
+                       printf(B_TRANSLATE("magic number: 0x%.8lx (INVALID, 
should be: "
+                               "0x%.8lx)\n"), header.magic, kbitsmagic);
+               printf(B_TRANSLATE("bounds: (%f, %f, %f, %f)\n"),
                        header.bounds.left, header.bounds.top,
                        header.bounds.right, header.bounds.bottom);
-               printf("dimensions: %d x %d\n",
+               printf(B_TRANSLATE("dimensions: %d x %d\n"),
                        static_cast<int>(header.bounds.Width() + 1),
                        static_cast<int>(header.bounds.Height() + 1));
                
-               printf("bytes per row: %u\n",
+               printf(B_TRANSLATE("bytes per row: %u\n"),
                        static_cast<unsigned int>(header.rowBytes));
        
                // print out colorspace if it matches an item in the list
@@ -149,15 +155,15 @@ PrintBitsInfo(const char *filepath, bool bdumppixels)
                int32 i;
                for (i = 0; i < kncolorspaces; i++) {
                        if (header.colors == colorspaces[i].id) {
-                               printf("color space: %s\n", 
colorspaces[i].name);
+                               printf(B_TRANSLATE("color space: %s\n"), 
colorspaces[i].name);
                                break;
                        }
                }
                if (i == kncolorspaces)
-                       printf("color space: Unknown (0x%.8lx)\n",
+                       printf(B_TRANSLATE("color space: Unknown (0x%.8lx)\n"),
                                static_cast<unsigned long>(header.colors));
                        
-               printf("data size: %u\n",
+               printf(B_TRANSLATE("data size: %u\n"),
                        static_cast<unsigned int>(header.dataSize));
                        
                if (bdumppixels) {
@@ -178,18 +184,19 @@ PrintBitsInfo(const char *filepath, bool bdumppixels)
                                        break;
                                
                                default:
-                                       printf("Sorry, %s isn't supported yet"
-                                               " for this color space\n", 
kpixels);
+                                       printf(B_TRANSLATE("Sorry, %s isn't 
supported yet"
+                                               " for this color space\n"), 
kpixels);
                                        return;
                        }
                        uint8 *prow = new uint8[header.rowBytes];
                        if (!prow) {
-                               printf("Error: Not enough memory for row 
buffer\n");
+                               printf(B_TRANSLATE("Error: Not enough memory 
for row "
+                                       "buffer\n"));
                                return;
                        }
                        ssize_t ret, n;
                        uint32 totalbytes = 0;
-                       printf("pixel data (%s):\n", components);
+                       printf(B_TRANSLATE("pixel data (%s):\n"), components);
                        while ((ret = file.Read(prow, header.rowBytes)) > 0) {
                                n = 0;
                                while (n < ret) {
@@ -205,18 +212,21 @@ PrintBitsInfo(const char *filepath, bool bdumppixels)
                }                       
                
        } else
-               printf("Error opening %s\n", filepath);
+               printf(B_TRANSLATE_COMMENT("Error opening %s\n", 
+                       "file path is opening"), filepath);
 }
 
 int
 main(int argc, char **argv)
 {
        if (argc == 1) {
-               printf("\nbitsinfo - reports information about a Be bitmap 
(\"bits\") image\n");
-               printf("\nUsage:\n");
-               printf("bitsinfo [options] filename.bits\n\n");
-               printf("Options:\n\n");
-               printf("\t%s \t print RGB color for each pixel\n", kpixels);
+               printf(B_TRANSLATE("\nbitsinfo - reports information about a Be 
"
+                       "bitmap (\"bits\") image\n"));
+               printf(B_TRANSLATE("\nUsage:\n"));
+               printf(B_TRANSLATE("bitsinfo [options] filename.bits\n\n"));
+               printf(B_TRANSLATE("Options:\n\n"));
+               printf(B_TRANSLATE("\t%s \t print RGB color for each pixel\n"), 
+                       kpixels);
        }
        else {
                int32 first = 1;
diff --git a/src/tools/translation/bitsinfo/bitsinfo.rdef 
b/src/tools/translation/bitsinfo/bitsinfo.rdef
new file mode 100644
index 0000000..935e1e0
--- /dev/null
+++ b/src/tools/translation/bitsinfo/bitsinfo.rdef
@@ -0,0 +1,17 @@
+/*
+ * bitsinfo.rdef
+ */
+
+resource app_signature "application/x-vnd.Haiku-bitsinfo";
+
+resource app_version {
+       major  = 1,
+       middle = 0,
+       minor  = 0,
+       variety = 0,
+       internal = 0,
+       short_info = "bitsinfo displays text information about Be bitmap format 
("bits") images.",
+       long_info = "Haiku bitsinfo is a command line tool for displaying text 
information about Be bitmap format ("bits") images. Written by Michael Wilber, 
OBOS Translation Kit Team, Copyright © 2003 OpenBeOS Project."
+};
+
+resource app_flags B_SINGLE_LAUNCH;

############################################################################

Commit:      cae234acf0b0ba5609033d7ec0d91d3aac6ae07c
Author:      Jorma Karvonen <karvonen.jorma@xxxxxxxxx>
Date:        Sat Sep 14 20:47:58 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:23 2013 UTC

Ticket:      https://dev.haiku-os.org/ticket/7164

Localize bmpinfo

Closes ticket #7164
Signed-off-by: Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx>

----------------------------------------------------------------------------

diff --git a/src/tools/translation/bmpinfo/Jamfile 
b/src/tools/translation/bmpinfo/Jamfile
index 584b9a1..fae0e01 100644
--- a/src/tools/translation/bmpinfo/Jamfile
+++ b/src/tools/translation/bmpinfo/Jamfile
@@ -1,4 +1,11 @@
 SubDir HAIKU_TOP src tools translation bmpinfo ;
 
-BinCommand bmpinfo : bmpinfo.cpp : be ;
+BinCommand bmpinfo : bmpinfo.cpp : be libbe.so $(HAIKU_LOCALE_LIBS) 
translation $(TARGET_LIBSTDC++) $(TARGET_LIBSUPC++) ;
 
+AddResources bmpinfo : bmpinfo.rdef ;
+
+DoCatalogs bmpinfo :
+       x-vnd.Haiku-bmpsinfo
+       : 
+       bmpinfo.cpp
+;
diff --git a/src/tools/translation/bmpinfo/bmpinfo.cpp 
b/src/tools/translation/bmpinfo/bmpinfo.cpp
index b5eb0d7..c5e7a51 100644
--- a/src/tools/translation/bmpinfo/bmpinfo.cpp
+++ b/src/tools/translation/bmpinfo/bmpinfo.cpp
@@ -36,10 +36,14 @@
 #include <stdlib.h>
 #include <string.h>
 #include <ByteOrder.h>
+#include <Catalog.h>
 #include <File.h>
 #include <TranslatorFormats.h>
 #include <StorageDefs.h>
 
+#undef B_TRANSLATE_CONTEXT
+#define B_TRANSLATE_CONTEXT "bmpinfo"
+
 #define BMP_NO_COMPRESS 0
 #define BMP_RLE8_COMPRESS 1
 #define BMP_RLE4_COMPRESS 2
@@ -82,7 +86,7 @@ print_bmp_info(BFile &file)
 
        ssize_t size = 14;
        if (file.Read(buf, size) != size) {
-               printf("Error: unable to read BMP file header\n");
+               printf(B_TRANSLATE("Error: unable to read BMP file header\n"));
                return;
        }
        
@@ -96,16 +100,18 @@ print_bmp_info(BFile &file)
        swap_data(B_UINT32_TYPE, (reinterpret_cast<uint8 *> (&fh)) + 2,
                12, B_SWAP_LENDIAN_TO_HOST);
                
-       printf("\nFile Header:\n");
-       printf("      magic: 0x%.4x (should be: 0x424d)\n", fh.magic);
-       printf("  file size: 0x%.8lx (%lu)\n", fh.fileSize, fh.fileSize);
-       printf("   reserved: 0x%.8lx (should be: 0x%.8x)\n", fh.reserved, 0);
-       printf("data offset: 0x%.8lx (%lu) (should be: >= 54 for MS format "
-               "and >= 26 for OS/2 format)\n", fh.dataOffset, fh.dataOffset);
+       printf(B_TRANSLATE("\nFile Header:\n"));
+       printf(B_TRANSLATE("      magic: 0x%.4x (should be: 0x424d)\n"), 
fh.magic);
+       printf(B_TRANSLATE("  file size: 0x%.8lx (%lu)\n"), fh.fileSize, 
+               fh.fileSize);
+       printf(B_TRANSLATE("   reserved: 0x%.8lx (should be: 0x%.8x)\n"), 
+               fh.reserved, 0);
+       printf(B_TRANSLATE("data offset: 0x%.8lx (%lu) (should be: >= 54 for MS 
"
+               "format and >= 26 for OS/2 format)\n"), fh.dataOffset, 
fh.dataOffset);
                
        uint32 headersize = 0;
        if (file.Read(&headersize, 4) != 4) {
-               printf("Error: unable to read info header size\n");
+               printf(B_TRANSLATE("Error: unable to read info header size\n"));
                return;
        }
        swap_data(B_UINT32_TYPE, &headersize, 4, B_SWAP_LENDIAN_TO_HOST);
@@ -115,7 +121,7 @@ print_bmp_info(BFile &file)
                MSInfoHeader msh;
                msh.size = headersize;
                if (file.Read(reinterpret_cast<uint8 *> (&msh) + 4, 36) != 36) {
-                       printf("Error: unable to read entire MS info header\n");
+                       printf(B_TRANSLATE("Error: unable to read entire MS 
info header\n"));
                        return;
                }
        
@@ -123,22 +129,33 @@ print_bmp_info(BFile &file)
                swap_data(B_UINT32_TYPE, reinterpret_cast<uint8 *> (&msh) + 4, 
36,
                        B_SWAP_LENDIAN_TO_HOST);
                        
-               printf("\nMS Info Header:\n");
-               printf("     header size: 0x%.8lx (%lu) (should be: 40)\n", 
msh.size, msh.size);
-               printf("           width: %lu\n", msh.width);
-               printf("          height: %lu\n", msh.height);
-               printf("          planes: %u (should be: 1)\n", msh.planes);
-               printf("  bits per pixel: %u (should be: 1,4,8,16,24 or 32)\n", 
msh.bitsperpixel);
-               printf("     compression: %s (%lu)\n",
-                       ((msh.compression == BMP_NO_COMPRESS) ? ("none") :
-                               ((msh.compression == BMP_RLE8_COMPRESS) ? ("RLE 
8") :
-                               ((msh.compression == BMP_RLE4_COMPRESS) ? ("RLE 
4") :
-                               ("unknown")))), msh.compression);
-               printf("      image size: 0x%.8lx (%lu)\n", msh.imagesize, 
msh.imagesize);
-               printf("  x pixels/meter: %lu\n", msh.xpixperm);
-               printf("  y pixels/meter: %lu\n", msh.ypixperm);
-               printf("     colors used: %lu\n", msh.colorsused);
-               printf("colors important: %lu\n", msh.colorsimportant);
+               printf(B_TRANSLATE("\nMS Info Header:\n"));
+               printf(B_TRANSLATE("     header size: 0x%.8lx (%lu) (should be: 
"
+                       "40)\n"), msh.size, msh.size);
+               printf(B_TRANSLATE("           width: %lu\n"), msh.width);
+               printf(B_TRANSLATE("          height: %lu\n"), msh.height);
+               printf(B_TRANSLATE("          planes: %u (should be: 1)\n"), 
+                       msh.planes);
+               printf(B_TRANSLATE("  bits per pixel: %u (should be: 
1,4,8,16,24 or "
+                       "32)\n"), msh.bitsperpixel);
+               if (msh.compression == BMP_NO_COMPRESS)
+                       printf(B_TRANSLATE("     compression: none (%lu)\n"), 
+                               msh.compression);
+               else if (msh.compression == BMP_RLE8_COMPRESS)
+                       printf(B_TRANSLATE("     compression: RLE8 (%lu)\n"), 
+                               msh.compression);
+               else if (msh.compression == BMP_RLE4_COMPRESS)
+                       printf(B_TRANSLATE("     compression: RLE4 (%lu)\n"), 
+                               msh.compression);
+               else
+                       printf(B_TRANSLATE("     compression: unknown 
(%lu)\n"), 
+                               msh.compression);
+               printf(B_TRANSLATE("      image size: 0x%.8lx (%lu)\n"), 
msh.imagesize,
+                       msh.imagesize);
+               printf(B_TRANSLATE("  x pixels/meter: %lu\n"), msh.xpixperm);
+               printf(B_TRANSLATE("  y pixels/meter: %lu\n"), msh.ypixperm);
+               printf(B_TRANSLATE("     colors used: %lu\n"), msh.colorsused);
+               printf(B_TRANSLATE("colors important: %lu\n"), 
msh.colorsimportant);
 
        } else if (headersize == sizeof(OS2InfoHeader)) {
                // OS/2 format
@@ -146,7 +163,8 @@ print_bmp_info(BFile &file)
                OS2InfoHeader os2;
                os2.size = headersize;
                if (file.Read(reinterpret_cast<uint8 *> (&os2) + 4, 8) != 8) {
-                       printf("Error: unable to read entire OS/2 info 
header\n");
+                       printf(B_TRANSLATE("Error: unable to read entire OS/2 
info "
+                               "header\n"));
                        return;
                }
        
@@ -154,17 +172,18 @@ print_bmp_info(BFile &file)
                swap_data(B_UINT32_TYPE, reinterpret_cast<uint8 *> (&os2) + 4, 
8,
                        B_SWAP_LENDIAN_TO_HOST);
                        
-               printf("\nOS/2 Info Header:\n");
-               printf("   header size: 0x%.8lx (%lu) (should be: 12)\n", 
os2.size, os2.size);
-               printf("         width: %u\n", os2.width);
-               printf("        height: %u\n", os2.height);
-               printf("        planes: %u (should be: 1)\n", os2.planes);
-               printf("bits per pixel: %u (should be: 1,4,8 or 24)\n",
+               printf(B_TRANSLATE("\nOS/2 Info Header:\n"));
+               printf(B_TRANSLATE("   header size: 0x%.8lx (%lu) (should be: 
12)\n"), 
+                       os2.size, os2.size);
+               printf(B_TRANSLATE("         width: %u\n"), os2.width);
+               printf(B_TRANSLATE("        height: %u\n"), os2.height);
+               printf(B_TRANSLATE("        planes: %u (should be: 1)\n"), 
os2.planes);
+               printf(B_TRANSLATE("bits per pixel: %u (should be: 1,4,8 or 
24)\n"),
                        os2.bitsperpixel);
 
        } else
-               printf("Error: info header size (%lu) does not match MS or OS/2 
"
-                       "info header size\n", headersize);
+               printf(B_TRANSLATE("Error: info header size (%lu) does not 
match MS "
+                       "or OS/2 info header size\n"), headersize);
 }
 
 int
@@ -173,18 +192,20 @@ main(int argc, char **argv)
        printf("\n");
        
        if (argc == 1) {
-               printf("bmpinfo - reports information about a BMP image 
file\n");
-               printf("\nUsage:\n");
-               printf("bmpinfo filename.bmp\n");       
+               printf(B_TRANSLATE("bmpinfo - reports information about a BMP 
image "
+                       "file\n"));
+               printf(B_TRANSLATE("\nUsage:\n"));
+               printf(B_TRANSLATE("bmpinfo filename.bmp\n"));  
        }
        else {
                BFile file;
                
                for (int32 i = 1; i < argc; i++) {
                        if (file.SetTo(argv[i], B_READ_ONLY) != B_OK)
-                               printf("\nError opening %s\n", argv[i]);
+                               printf(B_TRANSLATE("\nError opening %s\n"), 
argv[i]);
                        else {
-                               printf("\nBMP image information for: %s\n", 
argv[i]);
+                               printf(B_TRANSLATE("\nBMP image information 
for: %s\n"), 
+                                       argv[i]);
                                print_bmp_info(file);
                        }
                }
diff --git a/src/tools/translation/bmpinfo/bmpinfo.rdef 
b/src/tools/translation/bmpinfo/bmpinfo.rdef
new file mode 100644
index 0000000..90e6148
--- /dev/null
+++ b/src/tools/translation/bmpinfo/bmpinfo.rdef
@@ -0,0 +1,17 @@
+/*
+ * bmpinfo.rdef
+ */
+
+resource app_signature "application/x-vnd.Haiku-bmpinfo";
+
+resource app_version {
+       major  = 1,
+       middle = 0,
+       minor  = 0,
+       variety = 0,
+       internal = 0,
+       short_info = "bmpinfo displays text information about BMP images.",
+       long_info = "Haiku bmpinfo is a command line tool for displaying text 
information about BMP images. Written by Michael Wilber, OBOS Translation Kit 
Team, Copyright © 2003 OpenBeOS Project."
+};
+
+resource app_flags B_SINGLE_LAUNCH;

############################################################################

Commit:      6a66acded810ada5d2a897e1256f2a117e0f8407
Author:      Jorma Karvonen <karvonen.jorma@xxxxxxxxx>
Date:        Sat Sep 14 20:52:43 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:23 2013 UTC

Ticket:      https://dev.haiku-os.org/ticket/7168

Localize tgainfo

Closes ticket #7168
Signed-off-by: Niels Sascha Reedijk <niels.reedijk@xxxxxxxxx>

----------------------------------------------------------------------------

diff --git a/src/tools/translation/bitsinfo/Jamfile 
b/src/tools/translation/bitsinfo/Jamfile
index f021561..eca781e 100644
--- a/src/tools/translation/bitsinfo/Jamfile
+++ b/src/tools/translation/bitsinfo/Jamfile
@@ -1,7 +1,5 @@
 SubDir HAIKU_TOP src tools translation bitsinfo ;
 
-SetSubDirSupportedPlatformsBeOSCompatible ;
-
 BinCommand bitsinfo : 
        bitsinfo.cpp 
        : be libbe.so $(HAIKU_LOCALE_LIBS) translation $(TARGET_LIBSTDC++) 
$(TARGET_LIBSUPC++) ;
diff --git a/src/tools/translation/tgainfo/Jamfile 
b/src/tools/translation/tgainfo/Jamfile
index 39e8a88..b4b5eb4 100644
--- a/src/tools/translation/tgainfo/Jamfile
+++ b/src/tools/translation/tgainfo/Jamfile
@@ -1,4 +1,13 @@
 SubDir HAIKU_TOP src tools translation tgainfo ;
 
-BinCommand tgainfo : tgainfo.cpp : be ;
+BinCommand tgainfo : 
+       tgainfo.cpp 
+       : be libbe.so $(HAIKU_LOCALE_LIBS) translation $(TARGET_LIBSTDC++) 
$(TARGET_LIBSUPC++) ;
 
+AddResources tgainfo : tgainfo.rdef ;
+
+DoCatalogs tgainfo :
+       x-vnd.Haiku-tgainfo
+       : 
+       tgainfo.cpp
+;
diff --git a/src/tools/translation/tgainfo/tgainfo.cpp 
b/src/tools/translation/tgainfo/tgainfo.cpp
index e3036f5..925c35e 100644
--- a/src/tools/translation/tgainfo/tgainfo.cpp
+++ b/src/tools/translation/tgainfo/tgainfo.cpp
@@ -36,10 +36,14 @@
 #include <stdlib.h>
 #include <string.h>
 #include <ByteOrder.h>
+#include <Catalog.h>
 #include <File.h>
 #include <TranslatorFormats.h>
 #include <StorageDefs.h>
 
+#undef B_TRANSLATE_CONTEXT
+#define B_TRANSLATE_CONTEXT "tgainfo"
+
 #define max(x,y) ((x > y) ? x : y)
 #define DATA_BUFFER_SIZE 64
 
@@ -99,8 +103,8 @@ const char *
 colormaptype(uint8 n)
 {
        switch (n) {
-               case 0: return "No colormap";
-               case 1: return "colormap";
+               case 0: return B_TRANSLATE("No colormap");
+               case 1: return B_TRANSLATE("colormap");
        }
        return "unknown";
 }
@@ -109,15 +113,16 @@ const char *
 imagetype(uint8 n)
 {
        switch (n) {
-               case 0:  return "No Image Data";
-               case 1:  return "colormap";
-               case 2:  return "true color";
-               case 3:  return "grayscale";
-               case 9:  return "RLE colormap";
-               case 10: return "RLE true color";
-               case 11: return "RLE grayscale";
+               case 0:  return B_TRANSLATE("No Image Data");
+               case 1:  return B_TRANSLATE("colormap");
+               case 2:  return B_TRANSLATE("true color");
+               case 3:  return B_TRANSLATE("grayscale");
+               case 9:  return B_TRANSLATE("RLE colormap");
+               case 10: return B_TRANSLATE("RLE true color");
+               case 11: return B_TRANSLATE("RLE grayscale");
+               default: break;
        }
-       return "unknown";
+       return B_TRANSLATE("unknown");
 }
 
 uint16
@@ -140,7 +145,7 @@ print_tga_info(BFile &file)
        // read in TGA headers
        ssize_t size = TGA_HEADERS_SIZE;
        if (size > 0 && file.Read(buf, size) != size) {
-               printf("Error: unable to read all TGA headers\n");
+               printf(B_TRANSLATE("Error: unable to read all TGA headers\n"));
                return;
        }
        
@@ -150,12 +155,15 @@ print_tga_info(BFile &file)
        fh.colormaptype = buf[1];
        fh.imagetype = buf[2];
        
-       printf("\nFile Header:\n");
-       printf("    id length: %d\n", fh.idlength);
+       printf(B_TRANSLATE("\nFile Header:\n"));
+       printf(B_TRANSLATE("    id length: %d\n"), 
static_cast<int>(fh.idlength));
        
-       printf("colormap type: %d (%s)\n", fh.colormaptype,
-               colormaptype(fh.colormaptype));
-       printf("   image type: %d (%s)\n", fh.imagetype, 
imagetype(fh.imagetype));
+       printf(B_TRANSLATE("colormap type: %d (%s)\n"),
+               static_cast<int>(fh.colormaptype),
+               static_cast<const char *>(colormaptype(fh.colormaptype)));
+       printf(B_TRANSLATE("   image type: %d (%s)\n"),
+               static_cast<int>(fh.imagetype),
+               static_cast<const char *>(imagetype(fh.imagetype)));
        
        
        // TGA color map spec
@@ -164,10 +172,13 @@ print_tga_info(BFile &file)
        mapspec.length = tga_uint16(reinterpret_cast<char *>(buf), 5);
        mapspec.entrysize = buf[7];
        
-       printf("\nColormap Spec:\n");
-       printf("first entry: %d\n", mapspec.firstentry);
-       printf("     length: %d\n", mapspec.length);
-       printf(" entry size: %d\n", mapspec.entrysize);
+       printf(B_TRANSLATE("\nColormap Spec:\n"));
+       printf(B_TRANSLATE("first entry: %d\n"),
+               static_cast<int>(mapspec.firstentry));
+       printf(B_TRANSLATE("     length: %d\n"),
+               static_cast<int>(mapspec.length));
+       printf(B_TRANSLATE(" entry size: %d\n"),
+               static_cast<int>(mapspec.entrysize));
        
        
        // TGA image spec
@@ -179,20 +190,47 @@ print_tga_info(BFile &file)
        imagespec.depth = buf[16];
        imagespec.descriptor = buf[17];
        
-       printf("\nImage Spec:\n");
-       printf("  x origin: %d\n", imagespec.xorigin);
-       printf("  y origin: %d\n", imagespec.yorigin);
-       printf("     width: %d\n", imagespec.width);
-       printf("    height: %d\n", imagespec.height);
-       printf("     depth: %d\n", imagespec.depth);
-       printf("descriptor: 0x%.2x\n", imagespec.descriptor);
-               printf("\talpha (attr): %d\n",
-                       imagespec.descriptor & TGA_DESC_ALPHABITS);
-               printf("\t      origin: %d (%s %s)\n",
-                       imagespec.descriptor & (TGA_ORIGIN_VERT_BIT | 
TGA_ORIGIN_HORZ_BIT),
-                       ((imagespec.descriptor & TGA_ORIGIN_VERT_BIT) ? "top" : 
"bottom"),
-                       ((imagespec.descriptor & TGA_ORIGIN_HORZ_BIT) ? "right" 
: "left"));
-               printf("\t  bits 7 & 6: %d\n", imagespec.descriptor & 
TGA_DESC_BITS76);
+       printf(B_TRANSLATE("\nImage Spec:\n"));
+       printf(B_TRANSLATE("  x origin: %d\n"),
+               static_cast<int>(imagespec.xorigin));
+       printf(B_TRANSLATE("  y origin: %d\n"),
+               static_cast<int>(imagespec.yorigin));
+       printf(B_TRANSLATE("     width: %d\n"),
+               static_cast<int>(imagespec.width));
+       printf(B_TRANSLATE("    height: %d\n"),
+               static_cast<int>(imagespec.height));
+       printf(B_TRANSLATE("     depth: %d\n"),
+               static_cast<int>(imagespec.depth));
+       printf(B_TRANSLATE("descriptor: 0x%.2x\n"),
+               static_cast<int>(imagespec.descriptor));
+       printf(B_TRANSLATE("\talpha (attr): %d\n"),
+               static_cast<int>(imagespec.descriptor & TGA_DESC_ALPHABITS));
+       if (imagespec.descriptor & TGA_ORIGIN_VERT_BIT)
+               if (imagespec.descriptor & TGA_ORIGIN_HORZ_BIT)
+                       printf(B_TRANSLATE("\t      origin: %d (%s %s)\n"),
+                               static_cast<int>(imagespec.descriptor & 
(TGA_ORIGIN_VERT_BIT 
+                               | TGA_ORIGIN_HORZ_BIT)), static_cast<const char 
*>("top"),
+                               static_cast<const char *>("right"));
+               else
+                       printf(B_TRANSLATE("\t      origin: %d (%s %s)\n"),
+                       static_cast<int>(imagespec.descriptor & 
(TGA_ORIGIN_VERT_BIT 
+                               | TGA_ORIGIN_HORZ_BIT)), static_cast<const char 
*>("top"),
+                               static_cast<const char *>("left"));
+       else
+               if (imagespec.descriptor & TGA_ORIGIN_HORZ_BIT)
+                       printf(B_TRANSLATE("\t      origin: %d (%s %s)\n"),
+                               static_cast<int>(imagespec.descriptor & 
(TGA_ORIGIN_VERT_BIT 
+                               | TGA_ORIGIN_HORZ_BIT)), static_cast<const char 
*>("bottom"),
+                               static_cast<const char *>("right"));
+               else
+                       printf(B_TRANSLATE("\t      origin: %d (%s %s)\n"),
+                       static_cast<int>(imagespec.descriptor & 
(TGA_ORIGIN_VERT_BIT 
+                               | TGA_ORIGIN_HORZ_BIT)), static_cast<const char 
*>("bottom"),
+                               static_cast<const char *>("left"));
+                       
+                       
+       printf(B_TRANSLATE("\t  bits 7 & 6: %d\n"),
+               static_cast<int>(imagespec.descriptor & TGA_DESC_BITS76));
                
                
        // Optional TGA Footer
@@ -208,107 +246,128 @@ print_tga_info(BFile &file)
                                extoffset = tga_uint32(tgafooter, 0);
                                devoffset = tga_uint32(tgafooter, 4);
                        
-                               printf("\nTGA Footer:\n");
-                               printf("extension offset: 0x%.8lx (%ld)\n", 
extoffset, extoffset);
-                               printf("developer offset: 0x%.8lx (%ld)\n", 
devoffset, devoffset);
-                               printf("signature: %s\n", tgafooter + 8);
+                               printf(B_TRANSLATE("\nTGA Footer:\n"));
+                               printf(B_TRANSLATE("extension offset: 0x%.8lx 
(%ld)\n"),
+                                       static_cast<long int>(extoffset),
+                                       static_cast<long int>(extoffset));
+                               printf(B_TRANSLATE("developer offset: 0x%.8lx 
(%ld)\n"),
+                                       static_cast<long int>(devoffset),
+                                       static_cast<long int>(devoffset));
+                               printf(B_TRANSLATE("signature: %s\n"), 
tgafooter + 8);
                                
                                if (extoffset) {
                                        char extbuf[TGA_EXT_LEN];
                                        if (file.ReadAt(extoffset, extbuf, 
TGA_EXT_LEN) == TGA_EXT_LEN) {
                                        
-                                               printf("\nExtension Area:\n");
+                                               printf(B_TRANSLATE("\nExtension 
Area:\n"));
                                                
                                                char strbuffer[LINE_LEN];
                                                
                                                uint16 extsize = 
tga_uint16(extbuf, 0);
                                                if (extsize < TGA_EXT_LEN) {
-                                                       printf("\nError: 
extension area is too small (%d)\n", extsize);
+                                                       
printf(B_TRANSLATE("\nError: extension "
+                                                               "area is too 
small (%d)\n"), extsize);
                                                        return;
                                                }
-                                               printf("size: %d\n", extsize);
+                                               printf(B_TRANSLATE("size: 
%d\n"), extsize);
                                                
                                                memset(strbuffer, 0, LINE_LEN);
                                                strncpy(strbuffer, extbuf + 2, 
41);
                                                printf("author: \"%s\"\n", 
strbuffer);
                                                
-                                               printf("comments:\n");
+                                               
printf(B_TRANSLATE("comments:\n"));
                                                for (int32 i = 0; i < 4; i++) {
                                                        memset(strbuffer, 0, 
LINE_LEN);
                                                        strcpy(strbuffer, 
extbuf + 43 + (i * 81));
-                                                       printf("\tline %ld: 
\"%s\"\n", i + 1, strbuffer);
+                                                       
printf(B_TRANSLATE("\tline %ld: \"%s\"\n"),
+                                                               
static_cast<long int>(i + 1),
+                                                               
static_cast<const char *>(strbuffer));
                                                }
 
-                                               printf("date/time (yyyy-mm-dd 
hh:mm:ss): %.4d-%.2d-%.2d %.2d:%.2d:%.2d\n",
+                                               printf(B_TRANSLATE("date/time 
(yyyy-mm-dd hh:mm:ss): "
+                                                       "%.4d-%.2d-%.2d 
%.2d:%.2d:%.2d\n"),
                                                        tga_uint16(extbuf, 
367), tga_uint16(extbuf, 369),
                                                        tga_uint16(extbuf, 
371), tga_uint16(extbuf, 373),
                                                        tga_uint16(extbuf, 
375), tga_uint16(extbuf, 377));
                                                        
                                                memset(strbuffer, 0, LINE_LEN);
                                                strncpy(strbuffer, extbuf + 
379, 41);
-                                               printf("job name: \"%s\"\n", 
strbuffer);
+                                               printf(B_TRANSLATE("job name: 
\"%s\"\n"), strbuffer);
 
-                                               printf("job time (hh:mm:ss): 
%.2d:%.2d:%.2d\n",
-                                                       tga_uint16(extbuf, 
420), tga_uint16(extbuf, 422),
-                                                       tga_uint16(extbuf, 
424));
+                                               printf(B_TRANSLATE("job time 
(hh:mm:ss): "
+                                                       "%.2d:%.2d:%.2d\n"), 
tga_uint16(extbuf, 420),
+                                                       tga_uint16(extbuf, 
422), tga_uint16(extbuf, 424));
                                                        
                                                memset(strbuffer, 0, LINE_LEN);
                                                strncpy(strbuffer, extbuf + 
426, 41);
-                                               printf("software id: \"%s\"\n", 
strbuffer);
+                                               printf(B_TRANSLATE("software 
id: \"%s\"\n"),
+                                                       strbuffer);
                                                
                                                char strver[] = "[null]";
                                                if (extbuf[469] != '\0') {
                                                        strver[0] = extbuf[469];
                                                        strver[1] = '\0';
                                                }
-                                               printf("software version, 
letter: %d, %s\n",
-                                                       tga_uint16(extbuf, 
467), strver);
+                                               printf(B_TRANSLATE("software 
version, letter: %d, "
+                                                       "%s\n"), 
tga_uint16(extbuf, 467), strver);
                                                
-                                               printf("key color (A,R,G,B): 
%d, %d, %d, %d\n",
-                                                       extbuf[470], 
extbuf[471], extbuf[472], extbuf[473]);
+                                               printf(B_TRANSLATE("key color 
(A,R,G,B): %d, %d, %d, "
+                                                       "%d\n"), extbuf[470], 
extbuf[471], extbuf[472],
+                                                       extbuf[473]);
                                                
-                                               printf("pixel aspect ratio: %d 
/ %d\n",
+                                               printf(B_TRANSLATE("pixel 
aspect ratio: %d / %d\n"),
                                                        tga_uint16(extbuf, 
474), tga_uint16(extbuf, 476));
 
-                                               printf("gamma value: %d / %d\n",
+                                               printf(B_TRANSLATE("gamma 
value: %d / %d\n"),
                                                        tga_uint16(extbuf, 
478), tga_uint16(extbuf, 480));
                                                
-                                               printf("color correction 
offset: 0x%.8lx (%ld)\n",
-                                                       tga_uint32(extbuf, 
482), tga_uint32(extbuf, 482));
-                                               printf("postage stamp offset: 
0x%.8lx (%ld)\n",
-                                                       tga_uint32(extbuf, 
486), tga_uint32(extbuf, 486));
-                                               printf("scan line offset: 
0x%.8lx (%ld)\n",
-                                                       tga_uint32(extbuf, 
490), tga_uint32(extbuf, 490));
+                                               printf(B_TRANSLATE("color 
correction offset: 0x%.8lx "
+                                                       "(%ld)\n"),     
tga_uint32(extbuf, 482),
+                                                       tga_uint32(extbuf, 
482));
+                                               printf(B_TRANSLATE("postage 
stamp offset: 0x%.8lx "
+                                                       "(%ld)\n"),     
tga_uint32(extbuf, 486),
+                                                       tga_uint32(extbuf, 
486));
+                                               printf(B_TRANSLATE("scan line 
offset: 0x%.8lx "
+                                                       "(%ld)\n"), 
tga_uint32(extbuf, 490),
+                                                       tga_uint32(extbuf, 
490));
                                                
                                                const char *strattrtype = NULL;
                                                uint8 attrtype = extbuf[494];
                                                switch (attrtype) {
-                                                       case 0: strattrtype = 
"no alpha"; break;
-                                                       case 1: strattrtype = 
"undefined, ignore"; break;
-                                                       case 2: strattrtype = 
"undefined, retain"; break;
-                                                       case 3: strattrtype = 
"alpha"; break;
-                                                       case 4: strattrtype = 
"pre-multiplied alpha"; break;
+                                                       case 0: strattrtype 
+                                                               = 
B_TRANSLATE("no alpha"); break;
+                                                       case 1: strattrtype 
+                                                               = 
B_TRANSLATE("undefined, ignore"); break;
+                                                       case 2: strattrtype 
+                                                               = 
B_TRANSLATE("undefined, retain"); break;
+                                                       case 3: strattrtype 
+                                                               = 
B_TRANSLATE("alpha"); break;
+                                                       case 4: strattrtype 
+                                                               = 
B_TRANSLATE("pre-multiplied alpha"); break;
                                                        default:
                                                                if (attrtype > 
4 && attrtype < 128)
-                                                                       
strattrtype = "reserved";
+                                                                       
strattrtype = B_TRANSLATE("reserved");
                                                                else
-                                                                       
strattrtype = "unassigned";
+                                                                       
strattrtype = B_TRANSLATE("unassigned");
                                                                break;
                                                }
-                                               printf("attributes type: %d 
(%s)\n", attrtype, strattrtype);
+                                               printf(B_TRANSLATE("attributes 
type: %d (%s)\n"),
+                                                       attrtype, strattrtype);
                                                
                                        } else
-                                               printf("\nError: Unable to read 
entire extension area\n");
+                                               printf(B_TRANSLATE("\nError: 
Unable to read entire "
+                                                       "extension area\n"));
                                }
                                
                        } else
-                               printf("\nTGA footer not found\n");
+                               printf(B_TRANSLATE("\nTGA footer not found\n"));
 
                } else
-                       printf("\nError: Unable to read TGA footer section\n");
+                       printf(B_TRANSLATE("\nError: Unable to read TGA footer "
+                               "section\n"));
                        
        } else
-               printf("\nError: Unable to get file size\n");
+               printf(B_TRANSLATE("\nError: Unable to get file size\n"));
 }
 
 int
@@ -317,18 +376,18 @@ main(int argc, char **argv)
        printf("\n");
        
        if (argc == 1) {
-               printf("tgainfo - reports information about a TGA image 
file\n");
-               printf("\nUsage:\n");
-               printf("tgainfo filename.tga\n");       
+               printf(B_TRANSLATE("tgainfo - reports information about a TGA 
image file\n"));
+               printf(B_TRANSLATE("\nUsage:\n"));
+               printf(B_TRANSLATE("tgainfo filename.tga\n"));  
        }
        else {
                BFile file;
                
                for (int32 i = 1; i < argc; i++) {
                        if (file.SetTo(argv[i], B_READ_ONLY) != B_OK)
-                               printf("\nError opening %s\n", argv[i]);
+                               printf(B_TRANSLATE("\nError opening %s\n"), 
argv[i]);
                        else {
-                               printf("\nTGA image information for: %s\n", 
argv[i]);
+                               printf(B_TRANSLATE("\nTGA image information 
for: %s\n"), argv[i]);
                                print_tga_info(file);
                        }
                }
diff --git a/src/tools/translation/tgainfo/tgainfo.rdef 
b/src/tools/translation/tgainfo/tgainfo.rdef
new file mode 100644
index 0000000..3e0810f
--- /dev/null
+++ b/src/tools/translation/tgainfo/tgainfo.rdef
@@ -0,0 +1,17 @@
+/*
+ * tgainfo.rdef
+ */
+
+resource app_signature "application/x-vnd.Haiku-tgainfo";
+
+resource app_version {
+       major  = 1,
+       middle = 0,
+       minor  = 0,
+       variety = 0,
+       internal = 0,
+       short_info = "tgainfo displays text information about TGA images.",
+       long_info = "Haiku tgainfo is a command line tool for displaying text 
information about TGA images. Written by Michael Wilber, OBOS Translation Kit 
Team, Copyright © 2003 OpenBeOS Project."
+};
+
+resource app_flags B_SINGLE_LAUNCH;

############################################################################

Commit:      89f89a07e173d8789fb916e88b00a6ec9f6f77d5
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Sat Sep 14 18:28:54 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:24 2013 UTC

ARM: boot: pass boot disk identifier

This to stop the vfs_boot.cpp code from complaining.

----------------------------------------------------------------------------

diff --git a/src/system/boot/platform/u-boot/devices.cpp 
b/src/system/boot/platform/u-boot/devices.cpp
index 650211b..ac380a7 100644
--- a/src/system/boot/platform/u-boot/devices.cpp
+++ b/src/system/boot/platform/u-boot/devices.cpp
@@ -5,10 +5,12 @@
 
 
 #include <KernelExport.h>
-#include <boot/platform.h>
+
+#include <boot/disk_identifier.h>
 #include <boot/vfs.h>
-#include <boot/stdio.h>
+#include <boot/platform.h>
 #include <boot/stage2.h>
+#include <boot/stdio.h>
 
 #define TRACE_DEVICES
 #ifdef TRACE_DEVICES
@@ -73,6 +75,18 @@ platform_add_block_devices(stage2_args *args, NodeList 
*devicesList)
 status_t 
 platform_register_boot_device(Node *device)
 {
-       TRACE("platform_register_boot_device\n");
+       disk_identifier disk_ident;
+        disk_ident.bus_type = UNKNOWN_BUS;
+        disk_ident.device_type = UNKNOWN_DEVICE;
+        disk_ident.device.unknown.size = device->Size();
+
+        for (int32 i = 0; i < NUM_DISK_CHECK_SUMS; i++) {
+                disk_ident.device.unknown.check_sums[i].offset = -1;
+                disk_ident.device.unknown.check_sums[i].sum = 0;
+        }
+
+       gBootVolume.SetData(BOOT_VOLUME_DISK_IDENTIFIER, B_RAW_TYPE,
+               &disk_ident, sizeof(disk_ident));
+
        return B_OK;
 }

############################################################################

Commit:      b9e8ec7bc02de57d5031196fc88cf44a94a6621d
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Sun Sep 15 01:47:40 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:24 2013 UTC

debugger/debuganalyzer: Remove the explicit -Werror from Jamfile

Specifying -Werror in the Jamfiles directly prevents the build
system from disabling error-on-warning for some arch specific
warnings (or even globally), breaking the ARM build.

The "src/apps" directory is already setup to compile with -Werror
by the build system anyway, so remove the explicit setting here.

----------------------------------------------------------------------------

diff --git a/src/apps/debuganalyzer/gui/Jamfile 
b/src/apps/debuganalyzer/gui/Jamfile
index a3b7e5b..fafe255 100644
--- a/src/apps/debuganalyzer/gui/Jamfile
+++ b/src/apps/debuganalyzer/gui/Jamfile
@@ -5,9 +5,6 @@ UsePrivateSystemHeaders ;
 
 UseHeaders $(HAIKU_DEBUG_ANALYZER_HEADERS) ;
 
-CCFLAGS +=  -Werror ;
-C++FLAGS += -Werror ;
-
 MergeObject DebugAnalyzer_gui.o
        :
        AbstractGeneralPage.cpp
diff --git a/src/apps/debuganalyzer/gui/chart/Jamfile 
b/src/apps/debuganalyzer/gui/chart/Jamfile
index b249153..6a611cd 100644
--- a/src/apps/debuganalyzer/gui/chart/Jamfile
+++ b/src/apps/debuganalyzer/gui/chart/Jamfile
@@ -4,9 +4,6 @@ UsePrivateHeaders shared ;
 
 UseHeaders $(HAIKU_DEBUG_ANALYZER_HEADERS) ;
 
-CCFLAGS +=  -Werror ;
-C++FLAGS += -Werror ;
-
 MergeObject DebugAnalyzer_gui_chart.o
        :
        BigtimeChartAxisLegendSource.cpp
diff --git a/src/apps/debuganalyzer/gui/main_window/Jamfile 
b/src/apps/debuganalyzer/gui/main_window/Jamfile
index d045a19..2479331 100644
--- a/src/apps/debuganalyzer/gui/main_window/Jamfile
+++ b/src/apps/debuganalyzer/gui/main_window/Jamfile
@@ -7,9 +7,6 @@ UseHeaders $(HAIKU_DEBUG_ANALYZER_HEADERS) ;
 
 UseHeaders [ FDirName $(HAIKU_TOP) src apps debugger util ] ;
 
-CCFLAGS +=  -Werror ;
-C++FLAGS += -Werror ;
-
 MergeObject DebugAnalyzer_gui_main_window.o
        :
        GeneralPage.cpp
diff --git a/src/apps/debuganalyzer/gui/table/Jamfile 
b/src/apps/debuganalyzer/gui/table/Jamfile
index f55bca6..da838b9 100644
--- a/src/apps/debuganalyzer/gui/table/Jamfile
+++ b/src/apps/debuganalyzer/gui/table/Jamfile
@@ -5,9 +5,6 @@ UsePrivateSystemHeaders ;
 
 UseHeaders $(HAIKU_DEBUG_ANALYZER_HEADERS) ;
 
-CCFLAGS +=  -Werror ;
-C++FLAGS += -Werror ;
-
 MergeObject DebugAnalyzer_gui_table.o
        :
        AbstractTable.cpp
diff --git a/src/apps/debuganalyzer/gui/thread_window/Jamfile 
b/src/apps/debuganalyzer/gui/thread_window/Jamfile
index 3e171d0..5a96ee6 100644
--- a/src/apps/debuganalyzer/gui/thread_window/Jamfile
+++ b/src/apps/debuganalyzer/gui/thread_window/Jamfile
@@ -5,9 +5,6 @@ UsePrivateSystemHeaders ;
 
 UseHeaders $(HAIKU_DEBUG_ANALYZER_HEADERS) ;
 
-CCFLAGS +=  -Werror ;
-C++FLAGS += -Werror ;
-
 MergeObject DebugAnalyzer_gui_thread_window.o
        :
        ActivityPage.cpp
diff --git a/src/apps/debuganalyzer/model/Jamfile 
b/src/apps/debuganalyzer/model/Jamfile
index 165c2f6..22e4db7 100644
--- a/src/apps/debuganalyzer/model/Jamfile
+++ b/src/apps/debuganalyzer/model/Jamfile
@@ -5,9 +5,6 @@ UsePrivateSystemHeaders ;
 
 UseHeaders $(HAIKU_DEBUG_ANALYZER_HEADERS) ;
 
-CCFLAGS +=  -Werror ;
-C++FLAGS += -Werror ;
-
 MergeObject DebugAnalyzer_model.o
        :
        Model.cpp
diff --git a/src/apps/debuganalyzer/model_loader/Jamfile 
b/src/apps/debuganalyzer/model_loader/Jamfile
index ed9888b..af86019 100644
--- a/src/apps/debuganalyzer/model_loader/Jamfile
+++ b/src/apps/debuganalyzer/model_loader/Jamfile
@@ -5,9 +5,6 @@ UsePrivateSystemHeaders ;
 
 UseHeaders $(HAIKU_DEBUG_ANALYZER_HEADERS) ;
 
-CCFLAGS +=  -Werror ;
-C++FLAGS += -Werror ;
-
 MergeObject DebugAnalyzer_model_loader.o
        :
        AbstractModelLoader.cpp
diff --git a/src/apps/debuganalyzer/util/Jamfile 
b/src/apps/debuganalyzer/util/Jamfile
index 8a5316a..fd6ab0c 100644
--- a/src/apps/debuganalyzer/util/Jamfile
+++ b/src/apps/debuganalyzer/util/Jamfile
@@ -5,9 +5,6 @@ UsePrivateSystemHeaders ;
 
 UseHeaders $(HAIKU_DEBUG_ANALYZER_HEADERS) ;
 
-CCFLAGS +=  -Werror ;
-C++FLAGS += -Werror ;
-
 MergeObject DebugAnalyzer_util.o
        :
        DataSource.cpp
diff --git a/src/apps/debugger/Jamfile b/src/apps/debugger/Jamfile
index 912e0cb..d196d25 100644
--- a/src/apps/debugger/Jamfile
+++ b/src/apps/debugger/Jamfile
@@ -1,8 +1,5 @@
 SubDir HAIKU_TOP src apps debugger ;
 
-CCFLAGS +=  -Werror ;
-C++FLAGS += -Werror ;
-
 UseHeaders [ FDirName $(HAIKU_TOP) headers compatibility bsd ] : true ;
 
 # for syscall_numbers.h
diff --git a/src/apps/debugger/arch/x86/disasm/Jamfile 
b/src/apps/debugger/arch/x86/disasm/Jamfile
index 0b40f9f..284eac6 100644
--- a/src/apps/debugger/arch/x86/disasm/Jamfile
+++ b/src/apps/debugger/arch/x86/disasm/Jamfile
@@ -1,8 +1,5 @@
 SubDir HAIKU_TOP src apps debugger arch x86 disasm ;
 
-CCFLAGS +=  -Werror ;
-C++FLAGS += -Werror ;
-
 UsePrivateHeaders shared ;
 
 UseHeaders [ LibraryHeaders udis86 ] ;
diff --git a/src/apps/debugger/arch/x86_64/disasm/Jamfile 
b/src/apps/debugger/arch/x86_64/disasm/Jamfile
index 7424d3d..9b1289e 100644
--- a/src/apps/debugger/arch/x86_64/disasm/Jamfile
+++ b/src/apps/debugger/arch/x86_64/disasm/Jamfile
@@ -1,8 +1,5 @@
 SubDir HAIKU_TOP src apps debugger arch x86_64 disasm ;
 
-CCFLAGS +=  -Werror ;
-C++FLAGS += -Werror ;
-
 UsePrivateHeaders shared ;
 
 UseHeaders [ LibraryHeaders udis86 ] ;
diff --git a/src/apps/debugger/demangler/Jamfile 
b/src/apps/debugger/demangler/Jamfile
index 613c6aa..d71c877 100644
--- a/src/apps/debugger/demangler/Jamfile
+++ b/src/apps/debugger/demangler/Jamfile
@@ -1,8 +1,5 @@
 SubDir HAIKU_TOP src apps debugger demangler ;
 
-CCFLAGS +=  -Werror ;
-C++FLAGS += -Werror ;
-
 SEARCH_SOURCE
        += [ FDirName $(HAIKU_TOP) src add-ons kernel debugger demangle ] ;
 
diff --git a/src/apps/debugger/dwarf/Jamfile b/src/apps/debugger/dwarf/Jamfile
index 0efb29c..4cf6b78 100644
--- a/src/apps/debugger/dwarf/Jamfile
+++ b/src/apps/debugger/dwarf/Jamfile
@@ -1,8 +1,5 @@
 SubDir HAIKU_TOP src apps debugger dwarf ;
 
-CCFLAGS +=  -Werror ;
-C++FLAGS += -Werror ;
-
 UsePrivateHeaders kernel shared ;
 UsePrivateSystemHeaders ;
 

############################################################################

Commit:      0fa2d68cdfc5b4c1c1f2c6086aa1f2668696cded
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Sun Sep 15 01:59:19 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:24 2013 UTC

ARM: stub out missing int64 atomic functions

Also, add an item to the TODO list for this. Really need to figure it out 
soon...

----------------------------------------------------------------------------

diff --git a/docs/develop/ports/arm/todo.txt b/docs/develop/ports/arm/todo.txt
index e49b6c8..9e73bea 100644
--- a/docs/develop/ports/arm/todo.txt
+++ b/docs/develop/ports/arm/todo.txt
@@ -1,3 +1,8 @@
+* Determine how to handle atomic functions on ARM.
+  GCC inlines are not supported, since the instructionset is ill-equiped for
+  this on older (pre-ARMv7) architectures. We possibly have to do something
+  similar to the linux kernel helper functions for this....
+
 * Figure out how to get page flags (modified/accessed) and implement it ;)
        use unmapped/read-only mappings to trigger soft faults
           for tracking used/modified flags for ARMv5 and ARMv6
diff --git a/src/system/libroot/os/arch/arm/atomic.S 
b/src/system/libroot/os/arch/arm/atomic.S
index 0127fd0..795e899 100644
--- a/src/system/libroot/os/arch/arm/atomic.S
+++ b/src/system/libroot/os/arch/arm/atomic.S
@@ -164,83 +164,36 @@ FUNCTION(atomic_get):
         bx     lr
 FUNCTION_END(atomic_get)
 
+FUNCTION(__sync_fetch_and_add_4):
+       bx      lr
+FUNCTION_END(__sync_fetch_and_add_4)
 
 /* int64       atomic_add64(vint64 *value, int64 addValue) */
-//FUNCTION(atomic_add64):
-//             movem.l %d2-%d3/%a2,-(%a7)
-//             move.l  (4,%a7),%a2
-//             lea.l   (4,%a2),%a1
-//             // addValue
-//             move.l  (12,%a7),%d3    /*LSB*/
-//             move.l  (8,%a7),%d2             /*MSB*/
-//miss5:       // old value
-//             move.l  (%a1),%d1               /*LSB*/
-//             move.l  (%a2),%d0               /*MSB*/
-//             add.l   %d1,%d3
-//             addx.l  %d0,%d2
-//             cas2.l  %d0:%d1,%d2:%d3,(%a2):(%a1)
-//             bne             miss5
-//             // return value d0:d1
-//             movem.l (%a7)+,%d2-%d3/%a2

[ *** diff truncated: 80 lines dropped *** ]


############################################################################

Commit:      ae4ad7037fcbb1e7fefd8d44f2f9f069befab135
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Sun Sep 15 02:39:37 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:25 2013 UTC

ARM: stub out makebootable so we can build a full haiku-image

----------------------------------------------------------------------------

############################################################################

Commit:      38bd76a0e5c3d6051d54e00046ec264ed6229f86
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Sun Sep 15 02:55:07 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:25 2013 UTC

u-boot: make sure host makebootable builds too

Somehow missed these few lines in my last commit.

----------------------------------------------------------------------------

############################################################################

Commit:      ed6722adc45b5372f2066d9ff48046100714ac7e
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Sun Sep 15 05:26:02 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:26 2013 UTC

norflash: Add hack to hide start of NOR flash

This is a workaround for hiding U-Boot that is stored in the first 2
128k blocks, so we can put a BFS image into NOR to boot from (since
we do not have support for SD/MMC yet in Haiku).

When manually putting a BFS filesystem at block 3 we actually get
right up to the point where BootScript is attempted to be executed!

----------------------------------------------------------------------------

############################################################################

Commit:      5308f230252c431646f6e4d69c94ff00144482df
Author:      Jerome Duval <jerome.duval@xxxxxxxxx>
Date:        Sun Sep 15 09:21:01 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:26 2013 UTC

Ticket:      https://dev.haiku-os.org/ticket/9589

usb_disk: returns B_DEV_NOT_READY for SCSI_SENSE_KEY_NOT_READY

...instead of B_DEV_NO_MEDIA. The latter seems to imply we stop testing
the unit is ready in usb_disk_device_added().
Based on a patch provided by markh in #9589.

----------------------------------------------------------------------------

############################################################################

Commit:      92ab471c493e3a126e845248eeb2da26f46f9e5e
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Sun Sep 15 09:31:41 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:26 2013 UTC

ntfs: make sure our confidence is higher then the intel partition add-on

This as the intel partition addon just does a very weak test, and the
NTFS test is much safer. This prevents NTFS filesystems that have a
valid boot sector signature but no partition table, from being
picked up by the intel partition table add-on instead of the ntfs
add-on.

Patch provided by markh, thanks!

----------------------------------------------------------------------------

############################################################################

Commit:      dc377ab5225383e027b8840ff3d8a3370b58de5b
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Sun Sep 15 09:45:40 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:37 2013 UTC

Ticket:      https://dev.haiku-os.org/ticket/9790

beos_mime: add sniffer rule for .mp3 files

Patch from markh (ticket #9790), thanks!

----------------------------------------------------------------------------

############################################################################

Commit:      c75ca47d05137675026a329882cd9a102a06eecd
Author:      Jerome Duval <jerome.duval@xxxxxxxxx>
Date:        Sun Sep 15 12:39:56 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:38 2013 UTC

dpc: fix comments spelling.

----------------------------------------------------------------------------

############################################################################

Commit:      02cac492509721580adf7ef2400e7ca5fefa54c6
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Sun Sep 15 13:32:19 2013 UTC

Ticket:      https://dev.haiku-os.org/ticket/9960

Debugger: Implement #9960.

- DebugReportGenerator now retrieves and dumps disassembly for the crashing
  function up to the crashing line.

----------------------------------------------------------------------------

############################################################################

Commit:      779d8213e9fa6de8c43685094de1c69006b99f98
Author:      Stephan Aßmus <superstippi@xxxxxx>
Date:        Sun Sep 15 15:21:11 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:38 2013 UTC

HaikuDepot: Use PackageInfoRefs instead of PackageInfos

 Instead of storing PackageInfo objects directly in the
 PackageLists, store PackageInfoRefs instead. This makes a
 lot of operations much cheaper, and it also allows making
 changes to a PackageInfo (which now exists only once)
 and have those changes reflect everywhere. In particular,
 it will be easier to populate some information of the
 PackageInfo lazily, and to listen for changes on a
 PackageInfo object.

----------------------------------------------------------------------------

############################################################################

Commit:      9202a719e143ce324d611990d2fb40939cf7e8c6
Author:      Stephan Aßmus <superstippi@xxxxxx>
Date:        Sun Sep 15 15:24:15 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:39 2013 UTC

HaikuDepot: Add interface for PackageInfoListener.

 Also defines PackageInfoEvent.

----------------------------------------------------------------------------

############################################################################

Commit:      697c0d7c63ed9ffdbdfa36451673c2193018b2e4
Author:      Jerome Duval <jerome.duval@xxxxxxxxx>
Date:        Sun Sep 15 13:22:43 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:39 2013 UTC

Ticket:      https://dev.haiku-os.org/ticket/9956

hdaudio: check pin sense on init, don't wait for a switch event

with headphones plugged on boot, sound was still enabled on speakers.
see #9956

----------------------------------------------------------------------------

############################################################################

Commit:      92dbf1869ff45b8df5396f6d22e798bcef1682c4
Author:      Stephan Aßmus <superstippi@xxxxxx>
Date:        Sun Sep 15 15:46:01 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:40 2013 UTC

HaikuDepot: Added some listener support to PackageInfo

----------------------------------------------------------------------------

############################################################################

Commit:      1c38517e256ac29d81f2b36e896200faefb8043e
Author:      Siarzhuk Zharski <zharik@xxxxxx>
Date:        Sun Sep 15 21:39:44 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:40 2013 UTC

ListView: More safe ScrollToSelection implementation

The Problem was observed in the Time Preferences Zone view - the
selection was set inside of TimeZoneView::DoLayout() call on
the OutlineListView control that had zero-sized Bounds. After
the control was resized the selection stay mainly hidden "under"
the upper edge. The Problem looks like generic so should be fixed
in the interface kit code. Proposed fix introduces additional check
for the scroll position to not cross the top edge of control.

----------------------------------------------------------------------------

############################################################################

Commit:      6b48fa0994c9fe5cadb92141f198a05e8a9cc586
Author:      Jerome Duval <jerome.duval@xxxxxxxxx>
Date:        Mon Sep 16 09:47:23 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:40 2013 UTC

usb_disk: fixes 64bit trace build

----------------------------------------------------------------------------

############################################################################

Commit:      1a07e84d0381f46de01d03c55648288294f95e56
Author:      Jerome Duval <jerome.duval@xxxxxxxxx>
Date:        Mon Sep 16 11:27:42 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:40:41 2013 UTC

usb_disk: fixed mounting a USB disk on x86_64

* usb_disk_prepare_partial_buffer() was miscalculating the offset in the temp 
buffer,
which led to a page fault later when copying to the user buffer.

----------------------------------------------------------------------------

############################################################################

Commit:      8f284ef32d8597ac987aa0ba1c84c7b90c866961
Author:      Jerome Duval <jerome.duval@xxxxxxxxx>
Date:        Mon Sep 16 13:05:28 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:41:58 2013 UTC

intel_extreme: don't expose overlay in accelerant when not allocated

... in the driver.

----------------------------------------------------------------------------

############################################################################

Commit:      af8e2aa4736c69637c294b3b6351243e9c7551fd
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Mon Sep 16 11:28:28 2013 UTC

Debugger: add settings manager for source location mappings.

- If it was necessary to help the debugger locate a particular source
  file due to it not being found on disk at the location specified in
  the debug information, the associated user-supplied path mappings
  are now saved and restored in the team settings. The file manager still
  needs a bit of extra work to apply these as files are added though.

----------------------------------------------------------------------------

############################################################################

Commit:      64aae117163474939e8936d01980afe50989636f
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Mon Sep 16 13:21:18 2013 UTC

Fix incorrect name usage.

----------------------------------------------------------------------------

############################################################################

Commit:      ad054cf1e108c98b3a9ea22f3ee74ff800c1fa81
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Mon Sep 16 13:22:05 2013 UTC

Ticket:      https://dev.haiku-os.org/ticket/9961

Debugger: Implement #9961.

- FileManager now saves any explicitly located file mappings,
  and properly restores them when reloading the same team/files later.

----------------------------------------------------------------------------

############################################################################

Commit:      f7e1dc6c46f33a4ca2ab7f46f4bb1320c4e26011
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Mon Sep 16 17:45:27 2013 UTC

Debugger: Add selection support to MemoryView.

- The Inspector's memory view now supports selecting chunks of the hex display 
in
  the manner one would in a TextView. The selection can also be copied to the 
clipboard,
  or if it matches the size of a target address, can be used as input for an 
address to
  inspect directly.

Still needs some fine tuning, but basically works.

----------------------------------------------------------------------------

############################################################################

Commit:      59cef1fa18eb75ea568bb72324bbbb91b1f156ad
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Mon Sep 16 17:59:33 2013 UTC

Build fix.

----------------------------------------------------------------------------

############################################################################

Commit:      153c6c4a405b45c7f7c50de381ec54ddf70075e4
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Mon Sep 16 18:22:24 2013 UTC

Debugger: Fix data copy issue.
- B_PRIx8 unfortunately doesn't necessarily strictly stay within the bounds
  of an 8-bit hex constant, so force the size passed to snprintf to make it
  that way.

----------------------------------------------------------------------------

############################################################################

Commit:      62b27e62773b40f3922c6a7a24d9b095f2beb187
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Mon Sep 16 19:28:19 2013 UTC

Fix previous format problem more correctly.

Thanks Ingo, Oliver and Ithamar for the hint.

----------------------------------------------------------------------------

############################################################################

Commit:      7eec822d5eb456c78ffeb5c048e7fa1c9885e13b
Author:      Stephan Aßmus <superstippi@xxxxxx>
Date:        Mon Sep 16 20:07:43 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:42:01 2013 UTC

HaikuDepot: Package information can be retrieved asynchronously

----------------------------------------------------------------------------

############################################################################

Commit:      b9898c45f4c66e02becc8d462481767d6522269e
Author:      Stephan Aßmus <superstippi@xxxxxx>
Date:        Mon Sep 16 20:11:06 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:42:01 2013 UTC

HaikuDepot: Also lock the model when updating the list

----------------------------------------------------------------------------

############################################################################

Commit:      f7628f839d15c4bac0d6b4dfa11683c21eb448b7
Author:      Stephan Aßmus <superstippi@xxxxxx>
Date:        Mon Sep 16 20:17:42 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:42:02 2013 UTC

HaikuDepot: Fixed selecting the right package when the list is sorted.

----------------------------------------------------------------------------

############################################################################

Commit:      72b9e4a7bc98fc13f830ce4ba787cbc571ef3845
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Mon Sep 16 20:38:29 2013 UTC

Fix gcc2 build.

----------------------------------------------------------------------------

############################################################################

Commit:      ed6f171aa6886208a0a2f2e695fbee97133ca3aa
Author:      Stephan Aßmus <superstippi@xxxxxx>
Date:        Mon Sep 16 21:16:52 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:42:03 2013 UTC

BColumnListView: Enable invalidating rows, fix SetField()

 * Seems like there was no easy way to simply invalidate
   a given BRow. Introduced BColumnListView::InvalidateRow().
 * BRow::SetField() tried to invalidate the row, but invalidated
   the listview instead of the BOutlineView responsible for
   drawing the list contents. Use the new InvaalidateRow().

----------------------------------------------------------------------------

############################################################################

Commit:      b748950b74ee3eb558d66fcd9cc3fae8b0f91adf
Author:      Stephan Aßmus <superstippi@xxxxxx>
Date:        Mon Sep 16 21:18:59 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:42:03 2013 UTC

HaikuDepot: Update package list when necessary

 * Pass the Model lock to the PackageListView.
 * Register a PackageInfoListener with every listed package.
 * Update the rating when it is fetched.

----------------------------------------------------------------------------

############################################################################

Commit:      533036dde7b27174e71d77f202ed94fc4d6e2fd1
Author:      Pawel Dziepak <pdziepak@xxxxxxxxxxx>
Date:        Mon Sep 16 21:08:46 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:42:03 2013 UTC

libroot: Make sure PTHREAD_STACK_MIN is in the allowed range

----------------------------------------------------------------------------

############################################################################

Commit:      772568c4764cfe4212b5940b124545b2f8d12862
Author:      Pawel Dziepak <pdziepak@xxxxxxxxxxx>
Date:        Mon Sep 16 21:16:29 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:42:04 2013 UTC

system: Use B_PAGE_SIZE to define stack sizes

As korli suggested use B_PAGE_SIZE for defining stack size related
definitions what seems to be more natural for them  and also may
help if we ever support an architecture with page size different than
4kB.

----------------------------------------------------------------------------

############################################################################

Commit:      4efb0a6d36d18fb00249cd0aeee4309956515ae4
Author:      Pawel Dziepak <pdziepak@xxxxxxxxxxx>
Date:        Mon Sep 16 21:19:23 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:42:04 2013 UTC

posix: Update PTHREAD_STACK_MIN to match MIN_USER_STACK_SIZE

Thanks for pointing this out Pete!

----------------------------------------------------------------------------

############################################################################

Commit:      c315b2b18a49cad52fcde98d66b304b924977c5c
Author:      John Scipione <jscipione@xxxxxxxxx>
Date:        Mon Sep 16 22:45:56 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:42:05 2013 UTC

Revert "ScreenSaver: ScrollToSelection off-by-one"

This reverts commit fb90f7ffe49c07e82cd8cf68012929c87319f656.

Underlying issue fixed in hrev46066

----------------------------------------------------------------------------

############################################################################

Commit:      4f4270c9902b587f017ff9ea3343ed535baa6f6b
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Tue Sep 17 00:42:58 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:42:05 2013 UTC

loader/u-boot: fix alignment of uimage components.

The "blobs" in a U-Boot uimage are aligned at 4 bytes, which we
did not take into account. Found this when adding a 3rd blob
containing the Flattened Device Tree for ARM.

----------------------------------------------------------------------------

############################################################################

Commit:      ba06f0766073168cc42458c6327f6703de21943f
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Tue Sep 17 01:03:17 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:42:05 2013 UTC

ARM: kernel: fix timer resolution and implement basic timekeeping.

The previously used method for programming the timer did not take
into account that our timespec is 64bit while the register we poke
it into is 32 bit. Since the PXA (SoC in Verdex target) has a limited
scale of resolution (us,ms,second) we dynamicly determine the one
that we can most closely match, and set that.

For f.ex. snooze to work however, we also need system_time to work.
The current implementation uses a system timer at microsecond
resolution to keep track of time.

Although the code is far from perfect, committing it now before
it gets lost, since I'm working on the infrastructure code
to properly factor out the SoC specific code out of the core
ARM architecture code (so the kernel can support more then
our poor old Verdex QEMU target ;))

----------------------------------------------------------------------------

############################################################################

Commit:      102ce4652adf3c3a4d74770d7e1c1c8efdbdaf46
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Tue Sep 17 03:26:29 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:42:06 2013 UTC

norflash: do not accept any device as a valid 'norflash'

Seems the original code was a little *too* simple ;-)

----------------------------------------------------------------------------

############################################################################

Commit:      dfa5aa0c9875001fa3508463f61862ba580952f0
Author:      Ithamar R. Adema <ithamar@xxxxxxxxxxxxxxxxxxx>
Date:        Tue Sep 17 03:50:05 2013 UTC
Committer:   Rene Gollent <anevilyak@xxxxxxxxx>
Commit-Date: Tue Sep 17 12:42:06 2013 UTC

device_manager: Move init_node_tree to after kdl cmd registration

This helps when debugging, since when a driver/module causes a crash
while registering with the device manager, you can actually look at
the device manager state ;-)

----------------------------------------------------------------------------

############################################################################

Commit:      2c130f09bfff272fc3a473006b86687c012bccc7
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Tue Sep 17 09:14:38 2013 UTC

Debugger: Fix calculation in MemoryView.

- The offset calculation for mapping the current point wasn't taking
  into account the number of bytes per hex block, causing it to be
  proportionally further off if one switched to 16/32/64-bit hex mode.

Gets mouse selection working properly in said modes.

----------------------------------------------------------------------------

############################################################################

Commit:      98c5cb26829c1ad0d6664a5c397568cdfe8d40f8
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Tue Sep 17 09:17:31 2013 UTC

Debugger: Fix RegistersView context menu.

- Always grab the address value from the actual register value column,
  rather than the one that's in fact under the mouse. Fixes the "Inspect"
  item sending you to inspect address 0 if you happened to right click over
  the register name rather than the value.

----------------------------------------------------------------------------

############################################################################

Commit:      89d18e912dfef6f0791f586d67b7f91cba30e969
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Tue Sep 17 10:07:52 2013 UTC

Debugger: MemoryView - Tweak target address drawing.

- Since we actually draw a selection now, change the target address
  highlight to clearly distinguish it. Rather than inverting it, it's
  now drawn with a normal background and red text in the hex display.
  The text mode subcomponent still shows it as an invert though, since
  the latter doesn't currently indicate the selection.

----------------------------------------------------------------------------

############################################################################

Commit:      eeebe2843a61c82661720930ee0002b0a5b53ced
Author:      Rene Gollent <anevilyak@xxxxxxxxx>
Date:        Tue Sep 17 12:04:41 2013 UTC

Manually merge 1410faca6c30d39dc08a7bf7caa7630ce5a16d35.

----------------------------------------------------------------------------


Other related posts:

  • » [haiku-commits] BRANCH HaikuPM-github.package-management [eeebe28] in src: apps/haiku-depot add-ons/kernel/drivers/network/virtio apps/debugger/user_interface/gui/inspector_window tools/translation/tgainfo apps/debugger - HaikuPM-github . package-management