Commit Graph

13662 Commits

Author SHA1 Message Date
Jérôme Duval
bc40c86cb7 clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-23 11:29:30 +00:00
Jérôme Duval
a2618d1f22 clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-23 11:28:52 +00:00
Axel Dörfler
19dfa58852 add_wall() first added the memory block to the list, and then added the wall - there
was a race condition between that and the wall checker daemon (if enabled): it could
occasionally report an overwritten wall in that very moment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14051 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-22 21:01:03 +00:00
Axel Dörfler
5793da1edc Renamed elf_lookup_symbol_address() to elf_debug_lookup_symbol_address() and
removed the locking it did, as that doesn't work anymore in the kernel debugger.
The function was not thought to be used outside the debugger, anyway.
Improved usage message from debugger command "ls".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-22 20:35:42 +00:00
Axel Dörfler
c2ee3ca134 Added a comment on how to deal with directly writable memory mapped files.
There, we need to detect the modified state from the mapping, too - the
vm_page state itself might not be up to date.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-22 20:33:19 +00:00
Axel Dörfler
4784eca19d cache_io() did not set the state of a page to PAGE_STATE_MODIFIED when it wrote
to it - if that page was read from disk unmodified before (or written back in
the mean time), the updated contents coult not be detected, and therefore, were
never written back.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14048 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-22 20:31:32 +00:00
Jérôme Duval
9276c86365 added ICH5/ICH6 ids, untested
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-22 08:03:07 +00:00
Axel Dörfler
61a1551551 Added empty function stubs for __fpclassify[fl](); they currently pretend that every number
is a normal one - maybe someone finds the time to implement them for real before I do :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-22 01:34:32 +00:00
Axel Dörfler
67a7102658 Fixed a pretty fatal bug in the page fault handling: interrupts were enabled
even if "kernel_startup" was "true". Page faults are now no longer allowed
during kernel startup (and could be easily avoided). The only situation where
we accept page faults with interrupts turned off now is during a kernel debugger
session.
Added a command debug_debugger_running() to test for that situation.
kernel_debugger() no longer sets kernel_startup while it's running; there should
be no situation when this could be helpful.
Interrupts are no longer enabled when a page fault happens in the kernel
debugger.
This potentially fixes all sorts of problems, and not only in the kernel debugger,
it could also have affected SMP (will test later).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 23:27:51 +00:00
Axel Dörfler
8a4462f51c Turned off debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 23:19:39 +00:00
Axel Dörfler
96643545c5 Removed unnecessary and stupid code - the doubled chain allocation also caused
a page fault during startup, because the chain memory is B_NO_LOCK.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 23:18:43 +00:00
Axel Dörfler
099ceb8f9d map_physical_memory() and its backend vm_map_physical_memory() did not map in the
pages, ie. they considered the areas to be B_LAZY_LOCK. But that doesn't really make
sense and potentially cause page faults where you wouldn't expect them (and where
it's not a good idea to trigger them).
Reworked display_mem() (used by the dw/db/ds commands in the kernel debugger) to
be a bit more sane, improved formatting, and allows it to work on non-existing
memory without a panic.
The "area" debugger command now also accepts an address (contained by the area)
as argument - and it will now always print out an error message if no matching
area could be found.
Replaced all dprintf() calls to kprintf() calls for the kernel debugger functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 23:17:09 +00:00
Andrew Bachmann
464f9febc4 suppress DEBUG on ftgzip.c so that it will compile
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 19:03:01 +00:00
Axel Dörfler
bae91f0a4c Fixed a bug I introduced when porting BFS to Haiku: when the file size of a BPlusTree
could be shrinked (because the last node was freed), the free node pointer of the
header was still accidently set to that node.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 17:41:52 +00:00
Axel Dörfler
72a263b6cf Make sure only ASCII characters are rendered.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 15:09:43 +00:00
Axel Dörfler
ef5ab08df3 Fixed keyboard navigation; it should now behave pretty much like R5 AFAICT:
- moved standard keyboard navigation into the BView::KeyDown() hook
- the window now only handles tab+option/command key
- B_COMMAND_KEY triggers group jumping, not B_CONTROL_KEY (that activates the switcher,
  but directly in the app_server)
- fixed broken group navigation: (modifiers & B_COMMAND_KEY & B_SHIFT_KEY) is different
  to (modifiers & (B_COMMAND_KEY | B_SHIFT_KEY)) and is just never true with these
  constants.
That allows the tab key completion to be used again in Terminal.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 14:44:53 +00:00
Axel Dörfler
17e7576146 The app_server test run scripts now work again (build target change).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 13:56:06 +00:00
Axel Dörfler
e0481f928e Now marks a partition unmounted on unmount - that allows a volume to be remounted as often as you like.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 13:45:15 +00:00
Axel Dörfler
23e13b2e9b The number of semaphores available is now computed based on the amount of memory.
Just like on BeOS, the overall maximum is 65536 semaphores for now - the mechanism
tends to make more semaphores available than the one under BeOS, though (which is
intended).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 12:20:43 +00:00
Axel Dörfler
30616a3243 block_cache::Free() now accepts NULL pointers (it was already used this way before...).
Unmounting BFS volumes should now work as expected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14034 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 11:57:36 +00:00
Michael Lotz
3ddebe7ec2 Moved the CursorManager over to the Desktop too.
Maybe the CursorManager should be used to set the cursors directly instead of using
fDesktop->GetCursorManager.FindCursor() and then fDesktop->GetHWInterface()->SetCursor()
in ServerApp.cpp.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 10:28:40 +00:00
Andrew Bachmann
144a7af719 add ffmpeg MPEG4 fourcc, and sorenson for avi
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 10:22:53 +00:00
Andrew Bachmann
e8b64a7478 mpeg4 video should be B_MEDIA_ENCODED_VIDEO, not B_MEDIA_ENCODED_AUDIO
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 09:19:11 +00:00
Andrew Bachmann
fa071ce3dc change variable types for compilation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 09:02:38 +00:00
Andrew Bachmann
6b08f7bd95 change variable types for compilation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 08:49:20 +00:00
Andrew Bachmann
7126bf11ab register some alternative 4cc
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 06:36:21 +00:00
Andrew Bachmann
64bddfb663 build patch
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 06:33:12 +00:00
David McPaul
a658e5df2d added support to MOV for MPEG4 video
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 05:12:22 +00:00
Marcus Overhagen
2fcd430e35 fixed DEBUG build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 02:00:12 +00:00
Marcus Overhagen
4ff43104e9 disabled regex debugging (the hard way)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 01:57:59 +00:00
Marcus Overhagen
fbcf75374b disabled regex debugging (the hard way)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14023 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 01:52:49 +00:00
Marcus Overhagen
4a0cd0c106 fixed DEBUG build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 01:44:46 +00:00
Andrew Bachmann
5fd5db9b3b UseLibraryHeaders zlib
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 01:41:11 +00:00
Marcus Overhagen
4230aad8a8 fixed DEBUG build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 01:39:39 +00:00
Marcus Overhagen
cc33b4a1ca This adds the required functions to libroot.so and fixes DEBUG build.
Unfortunately, they are pretty broken, so I added them into floatmath.c


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 01:30:46 +00:00
Marcus Overhagen
71c9501a76 fixed wrong usage of DEBUGGER macro
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 00:43:33 +00:00
Axel Dörfler
5b14757a30 We now have a consistent scheme what the file system should do with its root
node: like in BeOS, it *must* own the root node (ie. via publish_vnode()),
unlike in BeOS, it must also drop that reference on unmount (symmetrical
behaviour definitely makes more sense to me than the Be way).
Since all existing file systems for Haiku behaved differently, I brought them
in line (only pipefs already adhered to that new standard for some reason,
rootfs did only released the node, devfs did nothing - despite it's probably
not really useful to be able to unmount them).
fs_mount() will now panic if a file system does not do this correctly (useful
for file system developing).
Unmounting is now theoretically working again: when trying to unmount a BFS
volume, the kernel crashes in the block cache destruction... (but that's work
for tomorrow).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 00:41:16 +00:00
Marcus Overhagen
8c1bec29de fixed build with enabled DEBUG
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 00:39:42 +00:00
Andrew Bachmann
e0e43511c8 remove MakeLocate and MkDir1 which are in our Jambase. (make sure your jam is up to date from svn!)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-21 00:17:01 +00:00
Marcus Overhagen
794df3bf25 This removes the inline assembly code for find_thread
from OS.h, sorry for triggering a complete rebuild.
To avoid doing a syscall for find_thread(0), the assembly
version is now in libroot. For BeOS R5 compatibility, 
_kfind_thread_ is retained. This will fix some compile 
problems, and provides a cleaner OS.h for future Haiku
versions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 23:57:11 +00:00
Andrew Bachmann
f721f59acd when using the default image, create a more descriptive name {architecture, debug/release (from DEBUG variable), date}. note: DEBUG images are currently not possible since some components do not build with DEBUG=1.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 23:53:55 +00:00
Marcus Overhagen
edde83c450 cleanup of DEBUG and NDEBUG usage in media kit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 23:49:39 +00:00
Axel Dörfler
e6b682541e Fixed a stupid bug in the recently updated write_chunk_to_cache(): lastPageOffset
was incorrectly calculated, and could therefore cause all sorts of troubles with
writes over 4 kB.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 23:22:13 +00:00
Andrew Bachmann
6aa55e57d8 sorry for not committing the patches earlier, my dsl went down. :-(
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14010 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 23:02:08 +00:00
Axel Dörfler
8ca264f509 Fixed the makehdimage script that Andrew broke so violently :-P
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 22:42:17 +00:00
Marcus Overhagen
ca08707419 applied style guide a little bit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 22:17:04 +00:00
Marcus Overhagen
3bd6b367d8 removed unused NDEBUG
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 22:13:46 +00:00
Axel Dörfler
99e1c71ee6 - fixed a locking bug in the file cache: get_file_map() could been called with either
only a read lock on the inode, or without a lock at all (in case of prefetching) - it
  is now using the cache_ref's lock to make sure it's retrieved only once and doesn't
  waste/corrupts any memory.
- since that fix made it mandatory to fix write_chunk_into_cache() to not call pages_io()
  while holding the cache_ref's lock (was a to-do item before), I changed it to make
  that possible.
- It now also supports write-through caches in theory - as there is no way yet to tell
  a cache to work this way.
- Optimized for the not so uncommon case of writing the last part of a file that is not
  a multiple of the page size - it won't call pages_io() anymore then, but zero the rest
  of the page directly.
- vm_page_write_modified() is now calling write_page() without holding the cache_ref's
  lock as well.
The updated write_chunk_to_cache() is not so well tested, though, but appears to work
so far.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 21:32:31 +00:00
Axel Dörfler
07810890b5 Entering an empty line to the debugger will no longer match the first best command
available.
Broken escape sequences are now properly ignored (read one character too much before).
Since the current line buffer is part of the history, we now delete that buffer when
crossing the current line again while traversing the history (restoring the former
buffer would be the nicest way, but that would require another empty buffer and more
copying).
Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 21:24:13 +00:00
Marcus Overhagen
47a758b6c2 applied hotfix, but this decoder needs to be replaced with something secure and stable
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-20 21:16:09 +00:00