Commit Graph

13700 Commits

Author SHA1 Message Date
Jérôme Duval f2fd129852 now uses delta escapement
improved GetBoundingBoxesAsString (just for fun, keep in mind we'll use AGGTextRenderer in the end :) )


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-30 14:53:42 +00:00
Jérôme Duval 1559de1285 added screensaver kit package
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14090 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-30 12:22:22 +00:00
Jérôme Duval 5cf0a92ad6 tests for bfont
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14089 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-30 12:20:53 +00:00
Jérôme Duval 94c484bb7c applied the same fix (degrees to radians)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-30 09:58:58 +00:00
Jérôme Duval a37ea917be RotationBy now accepts radians, to be consistent among methods
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-30 09:57:37 +00:00
Stephan Aßmus b4d0e9b546 removed stupid and non working constructor, a little clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-30 09:49:12 +00:00
Jérôme Duval f9d38575a1 now uses font shear in AGGTextRenderer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-29 23:24:52 +00:00
Axel Dörfler 1733a44231 Fixed a very stupid bug I introduced in r10056 (the Haiku-only switch):
CachedNode::Allocate() could return the wrong offset for the new node when
taken from the free node pool (it accidently returned the offset for the
next free node...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-29 22:18:15 +00:00
Axel Dörfler 0afc66fa69 Made CachedNode::SetTo[Header]() return a const node/header. Made some other methods
that were supposed to be const const as well.
Found one bug this way: in one case, a duplicate node might not have been part of a
transaction (and thus, was not written back). This bug only affected the Haiku version
of BFS, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-29 21:57:08 +00:00
Axel Dörfler 1509c79696 The dump_*() functions now expect const parameters, dunno why that was different at all before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-29 21:54:26 +00:00
Axel Dörfler 47a54bea53 Rootfs now starts with 1 for the first inode ID.
Instead of -1, vnode_path_to_vnode() now returns the ID of the starting vnode when it
doesn't need to traverse the path at all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-28 20:08:32 +00:00
Axel Dörfler d8b4450df0 Now uses the name of the main thread instead of the team (the name of the
main thread is always the last path component when a program starts - the
name of the team is the full path, truncated to B_OS_NAME_LENGTH which often
cuts off the last path component).
Made argument writing better, so that very long arguments are written
correctly.
Includes the current working directory to the launch actions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-28 19:44:38 +00:00
Axel Dörfler 32b749520a Started a rule based prefetching module - it doesn't do anything useful yet beyond
loading a certain type of rules, but compiles fine :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-28 15:44:45 +00:00
Axel Dörfler b3373253a4 The generic syscall now returns more correct status codes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14078 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-28 14:10:12 +00:00
Axel Dörfler b3242a6267 The log module now allows to add other cache modules as an add-on via the generic syscall mechanism.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-28 14:03:05 +00:00
Jérôme Duval 29926b974b completes previous commit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-26 15:03:36 +00:00
Jérôme Duval c0058faecc first try at implementing ServerFont::GetBoundingBoxesAsString
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-26 15:02:53 +00:00
Jérôme Duval 492b2e2933 PrintToStream output now matches R5
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-26 15:02:05 +00:00
Jérôme Duval fef6144999 added a test app for BFont::GetBoundingBoxes* methods
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-26 08:49:30 +00:00
Jérôme Duval 3cf915cb23 spacing is needed for GetBoundingBoxes too (string case)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-26 08:47:17 +00:00
Jérôme Duval 697085a5aa shear is needed for GetBoundingBoxes
now uses _GetBoundingBoxes_ for GetBoundingBoxesAsGlyphs and GetBoundingBoxesAsString


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-26 08:40:24 +00:00
Axel Dörfler 43ffbcc46e If a page fault happens from within the kernel debugger, vm_page_fault() is no
longer called - instead, it get its own mini page fault handler: if the thread
has a fault handler, that one will be executed.
Exiting the debugger (with the "continue" command) no longer causes the
vm_page_fault() routine to be called if interrupts were disabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-26 02:43:15 +00:00
Axel Dörfler 29cf7df355 kernel_debugger_loop() now memorizes the last sDebuggerOnCPU value, so that
the CPU value doesn't get lost when exiting a nested debugger.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-26 02:39:24 +00:00
Axel Dörfler 15612acb76 bfs_read_vnode() no longer tries to load a block when there can't be an inode
(since it knows that it doesn't place any inodes before the end of the log area).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-26 02:37:57 +00:00
Axel Dörfler e432cef296 Updated a few more hash functions to be able to deal with negative numbers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-26 02:07:41 +00:00
Axel Dörfler f26e4a1c98 Made hash functions able to deal with keys with negative numbers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-26 02:02:33 +00:00
Axel Dörfler 7b285866ff Fixed hash functions: when the key was lower than 0 (could happen with entry_refs
and node_refs passed in) they returned an invalid index (larger than range).
Fixed rootfs compilation with tracing turned on.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-26 02:01:21 +00:00
Axel Dörfler 0f4453363f Ported the two bug fixes from r14063 (in BPlusTree::RemoveDuplicate()) to the R5 version of BFS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-25 23:19:41 +00:00
Axel Dörfler 4dcc6e972e Fixed two bugs in BPlusTree::RemoveDuplicate():
- if the left duplicate node of a removed node was the last node, the "array" variable
  still pointed to the old node when the loop was reentered which could lead to a tree
  corruption.
- if the value to be removed could not be found in the fragment it should have been in,
  the method still returned B_OK instead of B_ENTRY_NOT_FOUND.
Small cleanup, updated/improved comments.
Changed bplustree_node::FragmentsUsed() from int32 to uint32. Moved the calculation
of the maximal number of fragments in a node to the new bplustree_node::MaxFragments()
method.
If a bplustree_header is not valid, BPlusTree::SetTo() will now dump the header when
compiled with DEBUG defined.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-25 23:16:08 +00:00
Jérôme Duval 2f23ef90dd added GetBoundingBoxesAsGlyph, GetBoundingBoxesAsString, GetBoundingBoxesAsStrings
real implementation with freetype still missing


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-25 15:21:34 +00:00
Jérôme Duval f77cdaa9f6 added a kernelkit intro
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-24 20:52:39 +00:00
Jérôme Duval 518df00584 added a appkit intro
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-24 19:26:01 +00:00
Jérôme Duval 12e1daa3cc copyright update
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-24 15:13:52 +00:00
Jérôme Duval af86ce75a0 copyright update
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-24 15:08:32 +00:00
Jérôme Duval 2b1263bedf reworked BFont::GetStringWidths and BFont::StringWidth
implemented BFont::GetEdges


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14057 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-24 14:50:41 +00:00
Jérôme Duval 2185eed6d2 implemented GetHasGlyphs for real
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-23 21:47:41 +00:00
Jérôme Duval faccea3911 we check GetHasGlyphs for deadkeys characters too
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-23 12:27:25 +00:00
Jérôme Duval 3450200876 clean the rdef
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14054 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-08-23 11:42:39 +00:00
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