History log of /haiku-fatelf/src/system/kernel/system_info.cpp
Revision Date Author Comments
# 0e88a887 13-Jun-2012 Alex Smith <alex@alex-smith.me.uk>

First round of 64-bit safety fixes in the kernel.

* Most of this is incorrect printf format strings. Changed all strings
causing errors to use the B_PRI* format string definitions, which
means the strings should be correct across all platforms.
* Some other fixes for errors, casts required, etc.


# 22a7fe96 15-May-2011 Oliver Tappe <zooey@hirschkaefer.de>

Cleanup system-revision stuff.
* move system_revision.h to headers/private/libroot
* unify libroot's get_system_revision() (the one I introduced recently) with kernel's
get_haiku_revision(), the function is now called get_haiku_revision() in the kernel
and __get_haiku_revision() in libroot
* system_revision.c is now being built as part of libroot and as part of the kernel
* adjusted all callers of get_system_revision() accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41516 a95241bf-73f2-0310-859d-f6bbb57e9c96


# af2da315 10-May-2011 Oliver Tappe <zooey@hirschkaefer.de>

Fix the larger problem that was hiding behind the build problem of set_haiku_revsion on FreeBSD:
* the length of the sHaikuRevision character array symbol needs to be set explicitly,
as using either _SYS_NAMELEN or sizeof(utsname::version) will only return the values
for the host, which may not match ours, thus potentially causing problems when using
sHaikuRevision
* add headers/private/system_revision.h which defines SYSTEM_REVISION_LENGTH to 128
* adjust definitions of sHaikuRevision in libroot and kernel accordingly
utsname::version is shorter than SYSTEM_REVISION_LENGTH, but that doesn't cause any harm
until we have indeed switched to a DVCS (in which case longer revision strings will be
cut off by 'uname').


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41421 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 48315186 09-May-2011 Philippe Houdoin <philippe.houdoin@gmail.com>

Remove reference to SVN, now that revision is a VCS-agnostic string...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41394 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6250297a 08-May-2011 Oliver Tappe <zooey@hirschkaefer.de>

Switch haiku-revision from uint32 to string, as that's going to be required soon, no matter if we switch to Git or Mercurial
* increase _SYS_NAMELEN defined in sys/utsname.h to 128 to allow long(ish) revisions
* sHaikuRevision is now a static character array (in both libroot and kernel)
* adjust build tool set_haiku_revision to write the revision as string


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41389 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d23cadce 16-Dec-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

[_{kern,user}_]{start,stop}_system_watching()
-> [_{kern,user}_]{start,stop}_watching_system()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39872 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 260241b4 15-Dec-2010 Rene Gollent <anevilyak@gmail.com>

The wrong ID was being passed into _SendMessage(), leading to all thread
property change notifications being sent as having occurred for the team's
main thread.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39865 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d2bf328d 15-Dec-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented a generic system watching mechanism with a userland API. Currently
only a few events can be watched (team creation/deletion/exec, thread creation/
deletion/name changes). The functions start_system_watching()/
stop_system_watching start/stop watching events.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39862 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7b8dcda4 17-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Add gcc version information to kdl info command. This could help debugging in some cases and fixes #3240.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37562 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1d578e15 02-Jun-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed more address types related issues. Mostly printf() or comparison
warnings, but also some oversights from earlier changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37000 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fc5c7fdd 28-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

dump_info(): We can't use use cpu_get_active_time() in the kernel debugger as
it tries to acquire the thread spinlock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35657 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e50cf876 02-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the VM headers into subdirectory vm/.
* Renamed vm_cache.h/vm_address_space.h to VMCache.h/VMAddressSpace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34449 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c7d1aa19 25-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added system_info::abi field. It contains the system's ABI version, which
might be different from that of the caller (on hybrid builds).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30858 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 669ab214 15-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* The "info" KDL command now also dumps the built-in SVN revision.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28153 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ca7cb625 17-Sep-2008 Axel Dörfler <axeld@pinc-software.de>

* Implemented a (private for now) get_system_info_etc() call, that can retrieve
various system information.
* Implemented retrieving some VM stats via this call.
* The VM now maintains a page fault counter, and sets system_info::page_faults
accordingly.
* Added a (pretty simple) "vmstat" command line app.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27597 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8d12bd13 05-Aug-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the incrementing/decrementing of vm_page::wired_count into
dedicated functions.
* Introduced gMappedPagesCount variable which counts the total number of
physical pages that are mapped.
* Added vm_page_get_stats() which fills in the memory related part of
the system_info structure. Used and cached pages are computed
differently, now. The "available" (== not committed) memory is no
longer used for the computation as it doesn't say anything about the
actually used/free pages (with swap support enabled it is even
less meaningful, since we first commit swap space when possible).
We do also consider the memory used by the block cache as cached
pages, now. All in all these changes should fix the memory statistics
reported by get_system_info(), IOW bug #2574.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26837 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4f5bc0cf 01-Apr-2008 Axel Dörfler <axeld@pinc-software.de>

* Reenabled used page reporting based on vm_available_memory().
* Prettyfied memory info in the sysinfo app.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24746 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 153cc3c0 27-Mar-2008 Rene Gollent <anevilyak@gmail.com>

Use the old calculations for used_pages for the time being until the issue with sAvailableMemory is resolved.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24615 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 41f8d416 25-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

Applied patch by Rene Gollent:
* Add a cached_pages field to the system_info structure, and change the
meaning of the used_pages field to not include cached pages.
* Provide the needed info using the new calls vm_get_available_memory(),
and vm_page_num_available_pages().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24571 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fe8b72bc 15-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

Applied patch by Vasilis:
* Fixed various warnings with GCC4 due to the double sHaikuRevision line.
* Turned system_info.c to a C++ file.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24404 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0e88a887b4a9ecaaf1062078d9ca9bfca78fcf3a 13-Jun-2012 Alex Smith <alex@alex-smith.me.uk>

First round of 64-bit safety fixes in the kernel.

* Most of this is incorrect printf format strings. Changed all strings
causing errors to use the B_PRI* format string definitions, which
means the strings should be correct across all platforms.
* Some other fixes for errors, casts required, etc.


# 22a7fe9695a6685994f516857f10a3e0efaf15c7 15-May-2011 Oliver Tappe <zooey@hirschkaefer.de>

Cleanup system-revision stuff.
* move system_revision.h to headers/private/libroot
* unify libroot's get_system_revision() (the one I introduced recently) with kernel's
get_haiku_revision(), the function is now called get_haiku_revision() in the kernel
and __get_haiku_revision() in libroot
* system_revision.c is now being built as part of libroot and as part of the kernel
* adjusted all callers of get_system_revision() accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41516 a95241bf-73f2-0310-859d-f6bbb57e9c96


# af2da315dc9a699849a86a5c6f3b2ddb79632e83 10-May-2011 Oliver Tappe <zooey@hirschkaefer.de>

Fix the larger problem that was hiding behind the build problem of set_haiku_revsion on FreeBSD:
* the length of the sHaikuRevision character array symbol needs to be set explicitly,
as using either _SYS_NAMELEN or sizeof(utsname::version) will only return the values
for the host, which may not match ours, thus potentially causing problems when using
sHaikuRevision
* add headers/private/system_revision.h which defines SYSTEM_REVISION_LENGTH to 128
* adjust definitions of sHaikuRevision in libroot and kernel accordingly
utsname::version is shorter than SYSTEM_REVISION_LENGTH, but that doesn't cause any harm
until we have indeed switched to a DVCS (in which case longer revision strings will be
cut off by 'uname').


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41421 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 48315186a82495445634cffd4075290638a8224e 09-May-2011 Philippe Houdoin <philippe.houdoin@gmail.com>

Remove reference to SVN, now that revision is a VCS-agnostic string...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41394 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6250297a0862f935bdd9e1770bb7dde9cdab2e3f 08-May-2011 Oliver Tappe <zooey@hirschkaefer.de>

Switch haiku-revision from uint32 to string, as that's going to be required soon, no matter if we switch to Git or Mercurial
* increase _SYS_NAMELEN defined in sys/utsname.h to 128 to allow long(ish) revisions
* sHaikuRevision is now a static character array (in both libroot and kernel)
* adjust build tool set_haiku_revision to write the revision as string


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41389 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d23cadce4cdbd4e891a2aedf4f82f252f71d2461 16-Dec-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

[_{kern,user}_]{start,stop}_system_watching()
-> [_{kern,user}_]{start,stop}_watching_system()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39872 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 260241b41b988e2b00a35b9a5cb1f407727297a1 15-Dec-2010 Rene Gollent <anevilyak@gmail.com>

The wrong ID was being passed into _SendMessage(), leading to all thread
property change notifications being sent as having occurred for the team's
main thread.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39865 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d2bf328d7214cbba46b4781d70c5abda13083b89 15-Dec-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented a generic system watching mechanism with a userland API. Currently
only a few events can be watched (team creation/deletion/exec, thread creation/
deletion/name changes). The functions start_system_watching()/
stop_system_watching start/stop watching events.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39862 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7b8dcda4643168c8e88e6ca442dad5430f832aa2 17-Jul-2010 Adrien Destugues <pulkomandy@pulkomandy.ath.cx>

Add gcc version information to kdl info command. This could help debugging in some cases and fixes #3240.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37562 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1d578e15fe5b5c3ff62866ae81aef529d00d7762 02-Jun-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed more address types related issues. Mostly printf() or comparison
warnings, but also some oversights from earlier changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37000 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fc5c7fdd81e6b94caf5f59dac373f1bb3cc32532 28-Feb-2010 Ingo Weinhold <ingo_weinhold@gmx.de>

dump_info(): We can't use use cpu_get_active_time() in the kernel debugger as
it tries to acquire the thread spinlock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35657 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e50cf8765be50a7454c9488db38b638cf90805af 02-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the VM headers into subdirectory vm/.
* Renamed vm_cache.h/vm_address_space.h to VMCache.h/VMAddressSpace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34449 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c7d1aa192fe8cfb8963a72faaa9d946743cd2d03 25-May-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Added system_info::abi field. It contains the system's ABI version, which
might be different from that of the caller (on hybrid builds).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30858 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 669ab2141b40b27cc8b5487c091d2cbb81b7757a 15-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* The "info" KDL command now also dumps the built-in SVN revision.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28153 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ca7cb625b9769be2657365e2137197bdc3a9692d 17-Sep-2008 Axel Dörfler <axeld@pinc-software.de>

* Implemented a (private for now) get_system_info_etc() call, that can retrieve
various system information.
* Implemented retrieving some VM stats via this call.
* The VM now maintains a page fault counter, and sets system_info::page_faults
accordingly.
* Added a (pretty simple) "vmstat" command line app.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27597 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8d12bd1370b89bd29d6b306f5875ec08ce5f4a74 05-Aug-2008 Ingo Weinhold <ingo_weinhold@gmx.de>

* Moved the incrementing/decrementing of vm_page::wired_count into
dedicated functions.
* Introduced gMappedPagesCount variable which counts the total number of
physical pages that are mapped.
* Added vm_page_get_stats() which fills in the memory related part of
the system_info structure. Used and cached pages are computed
differently, now. The "available" (== not committed) memory is no
longer used for the computation as it doesn't say anything about the
actually used/free pages (with swap support enabled it is even
less meaningful, since we first commit swap space when possible).
We do also consider the memory used by the block cache as cached
pages, now. All in all these changes should fix the memory statistics
reported by get_system_info(), IOW bug #2574.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26837 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4f5bc0cfe9b70c4cdf2ebdbf3912f4a72cfcc791 01-Apr-2008 Axel Dörfler <axeld@pinc-software.de>

* Reenabled used page reporting based on vm_available_memory().
* Prettyfied memory info in the sysinfo app.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24746 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 153cc3c0f46fbddb55c28cd633495885331cb608 27-Mar-2008 Rene Gollent <anevilyak@gmail.com>

Use the old calculations for used_pages for the time being until the issue with sAvailableMemory is resolved.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24615 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 41f8d41647c52758df0d91031609d31ca01032ce 25-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

Applied patch by Rene Gollent:
* Add a cached_pages field to the system_info structure, and change the
meaning of the used_pages field to not include cached pages.
* Provide the needed info using the new calls vm_get_available_memory(),
and vm_page_num_available_pages().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24571 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fe8b72bc69e027abd0975ea252706a8d2b92caee 15-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

Applied patch by Vasilis:
* Fixed various warnings with GCC4 due to the double sHaikuRevision line.
* Turned system_info.c to a C++ file.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24404 a95241bf-73f2-0310-859d-f6bbb57e9c96