Pawel Dziepak
4ade765cab
kernel/util: Add heap implementation
2013-10-09 04:26:09 +02:00
Pawel Dziepak
a2bdd2842f
kernel: Add scheduler_op for dumping thread data
2013-10-09 02:08:49 +02:00
Pawel Dziepak
0896565a6e
kernel: Support sched_yield() properly
...
sched_yield() should not yield to the threads with lower priority.
2013-10-09 01:18:55 +02:00
Pawel Dziepak
9363e99b19
kernel: Remove Thread::next_priority
2013-10-08 20:21:35 +02:00
Pawel Dziepak
4cba4ff1df
kernel/util: Use private/kernel/debug.h
2013-10-08 01:36:30 +02:00
Pawel Dziepak
b8c1df9b00
kernel: Add O(1) lookup and insertion priority queue
2013-10-05 20:16:06 +02:00
Pawel Dziepak
7039b950fb
x86[_64]: Fix style issues
2013-10-05 18:03:00 +02:00
Pawel Dziepak
149c82a8ec
kernel/util: Add bitmap implementation
2013-10-03 04:27:49 +02:00
Pawel Dziepak
36cc64a9b3
x86[_64]: Add CPU cache topology detection for AMD and Intel CPUs
2013-10-02 23:48:03 +02:00
Pawel Dziepak
1f50d09018
kernel/util: Add bit hack utilities
2013-10-02 21:24:46 +02:00
Pawel Dziepak
8ec897323e
x86[_64]: Add CPU topology detection for Intel processors
2013-10-02 01:19:17 +02:00
Pawel Dziepak
4110b730db
x86[_64]: Add support for CPUID sub-leaves
...
Some CPUID leaves may contain one or more sub-leaves accessed by setting
ECX to an appropriate value.
2013-10-01 20:31:18 +02:00
Ingo Weinhold
81291304ad
Merge remote-tracking branch 'haiku/master' into package-management
...
Conflicts:
build/jam/BuildSetup
build/jam/HaikuImage
build/jam/board/sam460ex/BoardSetup
build/jam/board/verdex/BoardSetup
data/catalogs/apps/icon-o-matic/fr.catkeys
src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp
src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp
src/apps/debugger/files/FileManager.cpp
src/apps/debugger/files/FileManager.h
src/apps/debugger/user_interface/gui/inspector_window/MemoryView.cpp
src/apps/haiku-depot/MainWindow.cpp
src/apps/haiku-depot/MainWindow.h
src/apps/haiku-depot/Model.cpp
src/apps/haiku-depot/PackageInfo.h
src/apps/haiku-depot/PackageInfoListener.h
src/apps/haiku-depot/PackageInfoView.cpp
src/apps/haiku-depot/PackageInfoView.h
src/apps/haiku-depot/PackageListView.cpp
src/apps/haiku-depot/PackageListView.h
src/system/kernel/arch/arm/arch_timer.cpp
src/system/libroot/os/arch/arm/atomic.S
src/tools/translation/bitsinfo/Jamfile
src/tools/translation/bmpinfo/Jamfile
src/tools/translation/tgainfo/Jamfile
2013-09-27 01:55:45 +02:00
Ithamar R. Adema
cc65466f0d
ARM: kernel: Make KDL more useful on ARM
...
This adds the -mapcs-frame compiler flag for ARM to have "stable"
stack frames, adds support to the kernel for dumping stack crawls,
and initial support for iframes. There' much more functionality
to unlock in KDL, but this makes debugging already a lot more
comfortable.....
2013-09-17 23:04:59 +02:00
François Revol
09d213f3b3
PPC: OF: Make sure kernel args match the U-Boot one
...
Since both platforms can boot the same kernel we must accept either
arg, so we make sure they are identical for now.
TODO: use a union or KMessage maybe?
2013-09-17 15:49:49 +02:00
François Revol
c14bca2958
Merge branch 'master' into sam460ex
2013-09-14 01:16:51 +02:00
Ingo Weinhold
cf70d345b2
Merge remote-tracking branch 'haiku/master' into package-management
...
This reverts 8f7f28a7c3
(OpenGL: Upgrade
to
Mesa 9.2).
Conflicts:
build/jam/BuildFeatures
build/jam/HaikuImage
build/jam/OptionalPackages
build/scripts/build_cross_tools_gcc4
src/add-ons/opengl/swpipe/Jamfile
src/apps/diskusage/Jamfile
src/kits/tracker/ContainerWindow.cpp
src/kits/tracker/DeskWindow.cpp
src/kits/tracker/Jamfile
2013-09-13 01:02:28 +02:00
Jérôme Duval
0edcbd2754
apic: serialize writes to x2apic MSR...
...
as required by the specifications (it isn't needed with memory mapped i/o).
2013-08-26 21:48:33 +02:00
Jérôme Duval
787773400c
Added x2APIC support.
...
* Mostly useful for virtualization at the moment. Works in QEmu.
* Can be enabled by safemode settings/menu.
* Please note that x2APIC normally requires use of VT-d interrupt remapping feature
on real hardware, which we don't support yet.
2013-08-26 21:08:21 +02:00
Jérôme Duval
46f7a54d8c
MSI: Use the effective APIC id of the boot CPU for the address destination.
...
* This should only affect systems where the CPU ids aren't sequential (mostly
non Intel).
* Fixes #9807 .
2013-07-29 17:36:03 +02:00
Ingo Weinhold
1eda8517f1
BOpenHashTable: Add IsEmpty()
2013-06-27 21:57:43 +02:00
François Revol
b8ded2f897
Merge branch 'master' into sam460ex
2013-05-27 17:45:55 +02:00
Ingo Weinhold
1848fdc329
util/khash: Add hash_hash_string_part()
2013-05-11 23:17:55 +02:00
Ingo Weinhold
00090d290d
boot loader: print max heap usage info before entering kernel
2013-05-09 03:14:35 +02:00
Ingo Weinhold
25a7b01d15
Merge branch 'master' into package-management
...
Additional changes:
* Add src/system/kernel/lib/zlib, which builds a kernel version of zlib,
needed by packagefs.
* BuildFeatures: Add a build feature "gcc2" to allow for easier checks.
* Referenceable.cpp: Include <OS.h> instead of <debugger.h>. The latter
is not needed and prevents building for the build platform.
* zlib/zutil.h: Fix gcc 2 build. We really should use the external
package instead.
Conflicts:
.gitignore
build/jam/BuildSetup
build/jam/FileRules
build/jam/FloppyBootImage
build/jam/HaikuImage
build/jam/ImageRules
build/jam/KernelRules
build/jam/NetBootArchive
build/jam/OptionalBuildFeatures
build/jam/OptionalLibPackages
build/jam/OptionalPackageDependencies
build/jam/OptionalPackages
build/scripts/build_haiku_image
configure
data/bin/installoptionalpackage
data/system/boot/Bootscript
headers/os/app/Message.h
headers/os/package/PackageInfo.h
headers/os/package/PackageInfoAttributes.h
headers/os/package/PackageInfoSet.h
headers/os/package/PackageRoster.h
headers/os/package/PackageVersion.h
headers/os/package/hpkg/PackageInfoAttributeValue.h
headers/os/storage/FindDirectory.h
headers/os/storage/Node.h
headers/os/support/StringList.h
headers/private/system/directories.h
src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile
src/add-ons/kernel/file_systems/packagefs/AttributeIndex.cpp
src/add-ons/kernel/file_systems/packagefs/Jamfile
src/add-ons/kernel/file_systems/packagefs/Package.cpp
src/add-ons/kernel/file_systems/packagefs/Package.h
src/add-ons/kernel/file_systems/packagefs/PackageDomain.cpp
src/add-ons/kernel/file_systems/packagefs/PackageDomain.h
src/add-ons/kernel/file_systems/packagefs/PackageFSRoot.cpp
src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.cpp
src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h
src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.cpp
src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.h
src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp
src/add-ons/kernel/file_systems/packagefs/PackageNode.h
src/add-ons/kernel/file_systems/packagefs/ResolvableFamily.cpp
src/add-ons/kernel/file_systems/packagefs/Version.cpp
src/add-ons/kernel/file_systems/packagefs/Version.h
src/add-ons/kernel/file_systems/packagefs/Volume.cpp
src/add-ons/kernel/file_systems/packagefs/Volume.h
src/add-ons/kernel/file_systems/packagefs/kernel_interface.cpp
src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c
src/apps/deskbar/BarApp.cpp
src/apps/deskbar/BarMenuBar.cpp
src/apps/deskbar/BarMenuBar.h
src/apps/deskbar/BarView.cpp
src/apps/deskbar/BarView.h
src/apps/deskbar/BarWindow.cpp
src/apps/deskbar/BarWindow.h
src/apps/deskbar/DeskbarMenu.cpp
src/apps/deskbar/DeskbarMenu.h
src/apps/deskbar/DeskbarUtils.cpp
src/apps/deskbar/DeskbarUtils.h
src/apps/deskbar/ExpandoMenuBar.cpp
src/apps/deskbar/ExpandoMenuBar.h
src/apps/deskbar/TeamMenu.cpp
src/apps/processcontroller/ProcessController.cpp
src/apps/remotedesktop/RemoteDesktop.cpp
src/bin/bash/config-top.h
src/bin/finddir.c
src/bin/package/Jamfile
src/bin/package/command_add.cpp
src/bin/package/command_create.cpp
src/bin/package/command_list.cpp
src/bin/package_repo/command_list.cpp
src/bin/pkgman/command_refresh.cpp
src/build/libbe/support/Jamfile
src/build/libpackage/Jamfile
src/build/libroot/Jamfile
src/build/libroot/fs.cpp
src/build/libroot/remapped_functions.h
src/kits/locale/MutableLocaleRoster.cpp
src/kits/opengl/GLRendererRoster.cpp
src/kits/package/PackageInfo.cpp
src/kits/package/PackageInfoSet.cpp
src/kits/package/PackageRoster.cpp
src/kits/package/PackageVersion.cpp
src/kits/package/RepositoryCache.cpp
src/kits/package/hpkg/PackageWriterImpl.cpp
src/kits/package/hpkg/ReaderImplBase.cpp
src/kits/package/hpkg/WriterImplBase.cpp
src/kits/print/PrintTransport.cpp
src/kits/print/Printer.cpp
src/kits/screensaver/ScreenSaverRunner.cpp
src/kits/support/StringList.cpp
src/kits/tracker/ContainerWindow.cpp
src/kits/tracker/DeskWindow.cpp
src/kits/tracker/PoseView.cpp
src/libs/print/libprint/Transport.cpp
src/preferences/printers/AddPrinterDialog.cpp
src/preferences/screensaver/ScreenSaverWindow.cpp
src/servers/debug/DebugServer.cpp
src/servers/input/AddOnManager.cpp
src/servers/media_addon/MediaAddonServer.cpp
src/system/boot/Jamfile
src/system/boot/loader/Jamfile
src/system/boot/loader/loader.cpp
src/system/boot/loader/vfs.cpp
src/system/kernel/fs/vfs.cpp
src/system/kernel/fs/vfs_boot.cpp
src/system/libroot/os/find_directory.cpp
src/system/runtime_loader/runtime_loader.cpp
src/tools/package/Jamfile
2013-05-05 15:03:26 +02:00
Ingo Weinhold
274ca38fd1
BOpenHashTable::Clear(): Set fItemCount to 0
...
If not empty, the count would afterwards be out of sync with reality.
2013-04-27 16:21:41 -04:00
Rene Gollent
c24adb2950
Rework DefaultNotificationService registration.
...
- Instead of implicitly registering and unregistering a service
instance on construction/destruction, DefaultNotificationService
now exports explicit Register()/Unregister() calls, which subclasses
are expected to call when they're ready.
- Adjust all implementing subclasses. Resolves an issue with deadlocks
when booting a DEBUG=1 build.
2013-04-22 18:42:21 -04:00
Ingo Weinhold
237127fbe4
Fix _user_entry_ref_to_path() in chroot
...
* Add "bool kernel" parameter to vfs_entry_ref_to_path(), so it can be
specified for which I/O context the entry ref shall be translated.
* _user_entry_ref_to_path(): Use the calling team's I/O context instead
of the kernel's. Fixes the bug that in a chroot the syscall would
return a path for outside the chroot.
2013-04-22 18:06:28 +02:00
François Revol
eecde8e37c
Merge branch 'master' into sam460ex
2013-04-21 01:34:20 +02:00
François Revol
247db0d169
U-Boot: pass a copy of the FDT to the kernel
2013-04-21 01:15:43 +02:00
Ingo Weinhold
7fa369956e
BOpenHashTable::Clear(): Set fItemCount to 0
...
If not empty, the count would afterwards be out of sync with reality.
2013-04-18 15:53:34 +02:00
Pawel Dziepak
8614737f71
elf: restore correct region protection after relocation
2013-04-16 03:44:38 +02:00
Pawel Dziepak
87d1bdb87c
util: add secure pseudorandom number generator
2013-04-11 12:31:58 +02:00
Pawel Dziepak
69042ecd1b
util: style fixes
2013-04-11 12:15:47 +02:00
Pawel Dziepak
6003243ef3
util: introduce kernel utils for pseudorandom number generation
...
Currently there are two generators. The fast one is the same one the scheduler
is using. The standard one is the same algorithm libroot's rand() uses. Should
there be a need for more cryptographically PRNG MD4 or MD5 might be a good
candidates.
2013-04-11 04:34:59 +02:00
Pawel Dziepak
a8f8d2c057
x86_64: put user stack and team data at top of user address space
2013-04-04 20:54:56 +02:00
Pawel Dziepak
f697412ff8
vm: place commpage and team data near the top of user address space
...
Placing commpage and team user data somewhere at the top of the user accessible
virtual address space prevents these areas from conflicting with elf images
that require to be mapped at exact address (in most cases: runtime_loader).
2013-04-04 15:27:24 +02:00
Pawel Dziepak
e85e399fd7
commpage: randomize position of commpage
...
This patch introduces randomization of commpage position. From now on commpage
table contains offsets from begining to of the commpage to the particular
commpage entry. Similary addresses of symbols in ELF memory image "commpage"
are just offsets from the begining of the commpage.
This patch also updates KDL so that commpage entries are recognized and shown
correctly in stack trace. An update of Debugger is yet to be done.
2013-04-04 15:27:22 +02:00
Pawel Dziepak
966f207668
x86: enable data execution prevention
...
Set execute disable bit for any page that belongs to area with neither
B_EXECUTE_AREA nor B_KERNEL_EXECUTE_AREA set.
In order to take advanage of NX bit in 32 bit protected mode PAE must be
enabled. Thus, from now on it is also enabled when the CPU supports NX bit.
vm_page_fault() takes additional argument which indicates whether page fault
was caused by an illegal instruction fetch.
2013-04-04 15:22:23 +02:00
François Revol
d4eea7d43c
Merge branch 'master' into sam460ex
2013-03-28 09:47:50 +01:00
Alex Smith
5e0c3db286
Account for the physical map area in the kernel VM space. Fixes #9547 .
...
The physical memory map area was not included in the kernel virtual
address space range (it was below KERNEL_BASE). This caused problems
if an I/O operation took place on physical memory mapped there (the
bad address error seen in #9547 was occurring in lock_memory_etc()).
Changed KERNEL_BASE and KERNEL_SIZE to cover the area and add a null
area that covers all of it. Also changed X86VMTranslationMap64Bit to
handle large pages in Query(), as the physical map area uses large
pages.
2013-03-22 18:30:01 +00:00
François Revol
8b72ce2651
Merge branch 'master' into sam460ex
2013-03-12 03:24:15 +01:00
Pawel Dziepak
7f61e6e4e5
Merge branch 'nfs4'
...
Conflicts:
build/jam/HaikuImage
2013-03-11 13:00:55 +01:00
François Revol
0acc7a44b6
PPC: Work-in-progress MMU definitions for AMCC440/460.
...
Unfinished. the TLB entries require setting 3 registers plus another
field for the PID.
Didn't yet decide how to store this in the page tables.
2013-03-09 03:26:53 +01:00
François Revol
28d1701896
Merge branch 'master' into sam460ex
2012-12-29 11:55:24 +01:00
Hamish Morrison
d1f280c805
Add support for pthread_attr_get/setguardsize()
...
* Added the aforementioned functions.
* create_area_etc() now takes a guard size parameter.
* The thread_info::stack_base/end range now refers to the usable range
only.
2012-12-28 18:02:58 +00:00
François Revol
97b9539c65
Merge branch 'master' into sam460ex
2012-12-06 00:12:40 +01:00
Michael Lotz
fd6e3a11e2
Use the existing ARM MMU definitions and remove duplicates.
2012-12-04 23:38:06 +01:00
Michael Lotz
50c463f4f1
Header cleanup, rename macros for more consistency.
2012-12-04 23:38:03 +01:00
François Revol
c435277d49
Merge branch 'master' into sam460ex
2012-11-29 16:06:28 +01:00