Commit Graph

21223 Commits

Author SHA1 Message Date
Axel Dörfler f98d60ae04 * Removed the automatic release of the "modified_pages_available" semaphore
in enqueue_page() - it doesn't really belong there.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-27 12:12:24 +00:00
Axel Dörfler 6e03805fb2 Forget to actually delete some old C files.
For some reason, shell wildcards do not include deleted files... :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-27 12:10:06 +00:00
Axel Dörfler 393fceb5a0 * Cleaned up vm_types.h a bit, and made vm_page, vm_cache, and vm_area
opaque types for C.
* As a result, I've renamed some more source files to .cpp, and fixed
  all warnings caused by that.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-27 10:29:05 +00:00
Stefano Ceccherini e96b202311 Patch from Ioan Molnar:
If a Tab is partially out of the window, clicking on it to make it the 
active tab will scroll it to be completely visible.
The best solution would probably be having a way to scroll through the 
whole list of tabs, or something like this. But for now, at least, makes 
the tabbed terminal a bit more useful.
Thanks!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-27 08:26:15 +00:00
Stefano Ceccherini 6d523548f1 Fixed endlines
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-27 07:55:16 +00:00
Axel Dörfler 8692ec023c * Renamed vm_page_write_modified() to vm_page_write_modifed_pages() and
introduced a new vm_page_write_modified_page().
* Resolved a TODO: vm_page_write_modified_pages() did not mark a to be
  written page busy but unlocked its cache which could let someone else
  steal that page in the mean time.
* Moved the logic when to move a page to the active or inactive queue to
  a new function move_page_to_active_or_inactive_queue().
* Moved page_state_to_string() to vm_page(); it's now also used by the
  "page" and "page_queue" KDL commands.
* Made the output of the "page_queue list" command more useful.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-26 20:19:51 +00:00
Marcus Overhagen 20c8bc80d5 The Jmicron AHCI controller on my machine is always in PATA emulation mode,
despite using the "AHCI native" setting in the BIOS. 
Added switching to AHCI mode during init, this makes it work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-26 18:55:29 +00:00
Marcus Overhagen 63f9ffef37 make sure PCI command register is setup correctly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-26 18:09:42 +00:00
Axel Dörfler 44e2fd093c Actually, it's not a good idea to increase the usage_count, since every access
is tracked while the page scanner runs much slower. Now, we just set it to a
fixed positive, so that they can easily age in case they are actually unused.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-26 18:00:45 +00:00
Axel Dörfler 8e0f884c71 * Since the page scanner and thief can work more effectively when no vm_caches
are locked, there is now a vm_page_reserve_pages() call to ensure upfront that
  there is a page for me when I need it, and may have locked some caches.
* The vm_soft_fault() routine now makes use of that feature.
* vm_page_allocate_page() now resets the vm_page::usage_count, so that the file
  cache does not need to do this in read_chunk_into_cache() and
  write_chunk_to_cache().
* In cache_io() however, it need to update the usage_count - and it does that
  now. Since non-mapped caches don't have mappings, the page scanner will punish
  the cache pages stronger than other pages which is accidently just what we
  want.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-26 17:42:25 +00:00
Axel Dörfler 8a25e1293b Implemented a part of block_cache_set_dirty() so that it can gracefully exit
in case there is nothing to do.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-26 14:01:28 +00:00
Axel Dörfler e97e022aa7 * block_cache_set_dirty() was used incorrectly; I wonder why I write any
documentation... when you ask the block cache for a writable block, it's
  automatically dirty.
* This fixes bug #1330.
* Minor style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-26 13:19:57 +00:00
Axel Dörfler 42cd7306a8 Renamed "dos" file system to "fat".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-26 09:43:58 +00:00
Axel Dörfler 6d4aea4796 bonefish+axeld:
* Removed the vm_cache/vm_store ref_count duality that besides being a bit ugly
  also created the page dameon cache retrieval problem: now, only areas (and
  cache consumers) retrieve a reference to the store (and therefore, the vnode).
  The page daemon doesn't need to care about this at all anymore, and the pseudo
  references of the vm_cache could be removed again.
* Rearranged deletion of vnodes such that its ID can be reused directly after
  fs_remove_vnode() has been called.
* vm_page_allocate_page() no longer panics when it runs out of pages, but just
  waits for new pages to become available using the new sFreeCondition condition
  variable - to make sure this happens in an acceptable time frame, it'll
  trigger a run of the low memory handlers.
* Implemented a page_thief() that steals inactive pages from caches and puts
  them into the free queue. It runs as a low memory handler.
* The file cache now sets the usage count on the pages it inserts into the
  cache (needs some rework though, cache_io() doesn't do it yet).
* Instead of panicking, the kernel will currently dead lock in low memory
  situations, since BFS does a bit too much in bfs_release_vnode().
* Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-26 00:20:23 +00:00
Axel Dörfler f9057a35a0 bonefish+axeld:
* The page daemon now runs independently from the low memory state.
* It now also increases its frequency and scanned pages, as well as decreases
  the interval between runs with increasing memory pressure.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-26 00:06:18 +00:00
Axel Dörfler 3cd731ada3 * The low memory handler now runs more often in more critical situations.
* vm_low_memory() no longer calls call_handlers() directly, but just triggers
  a run immediately.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 23:58:31 +00:00
Marcus Overhagen 4af29ec0bd Implemented a identify device command for further testing, works on Intel, doesn't work on Jmicron.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 21:33:15 +00:00
Jérôme Duval e4bbf18b3f added an implementation for nanosleep() based on snooze()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 19:18:27 +00:00
Jérôme Duval 4bf50c9bc4 updated ctags to 5.7
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 17:42:11 +00:00
Jérôme Duval 4d97d99317 changed pci to gPci, plus some clean
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 17:41:26 +00:00
Axel Dörfler 2b14cdd11c * Added a mutex_trylock() function.
* Replaced release_sem() with release_sem_etc() for future addition of the
  B_DO_NOT_RESCHEDULE flag.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 16:41:52 +00:00
Marcus Overhagen 2c76601709 Cleanup of hard reset, works on Intel, doesn't work on Jmicron.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 15:37:56 +00:00
Axel Dörfler 8c657126cd * Removed unused vm_page::busy_{reading|writing} fields.
* Fixed vm_page_allocate_page_run(): it did not take the pageState into account,
  and would therefore return uninitialized memory (ie. B_CONTIGUOUS areas would
  contain garbage).
  Now, it stores if a page is cleared in a new vm_page::is_cleared field.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 15:04:29 +00:00
Axel Dörfler 282c8843cd Accidently left debug output turned on; also updated copyright year.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 14:16:18 +00:00
Axel Dörfler 7acb68edf9 Made the private B_HIDE_APPLICATION message (now a misnomer) hide all applications
that share the same signature - so that this feature is now consistent to what the
Deskbar does.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 13:38:10 +00:00
Axel Dörfler 04d7b50bde Added shortcut 'h' to the Switcher to hide applications.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 13:28:50 +00:00
Axel Dörfler 229f4986d2 * Added private (as of now) B_HIDE_APPLICATION message that calls
do_minimize_team() (which is what the Deskbar does when you select
  "Hide All").
* Added keyboard shortcuts to minimize, and zoom a window, and to hide
  the whole application (Cmd+Ctrl+M/Z/H respectively). The former two
  are also present in Dano and up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 13:15:15 +00:00
Axel Dörfler eabbb1b365 * Implemented double click support in the USB HID driver - in the future, this
should really be moved into the input_server, though (BeOS does it in the
  driver, too).
* Fixed warnings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 12:43:34 +00:00
Axel Dörfler e0a627c141 The TTY now only allows session leaders to open it; consoled only called setsid()
too late, it does it now before starting the console.
This fixes bug #1502, and also allows to debug the GUI servers again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 10:51:50 +00:00
Jérôme Duval 57cba4584f added null_audio driver from Bek, HOST team. Thanks.
Applied some style fixes.
It's not recognized as a fallback driver. We might also consider a simple userland BufferConsumer/BufferProducer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 23:09:42 +00:00
Marcus Overhagen c32beda5c4 start dma later, reduce timeouts
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 22:42:24 +00:00
Axel Dörfler 22c5a76dee setlocale(, "") now no longer returns an error, but returns "C" now; we don't
(yet) support any locale anyway, so evaluating LC_ALL and friends doesn't make
much sense at this point.
This fixes bug #1499.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22297 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 22:26:03 +00:00
Axel Dörfler 64fd7c1a00 This fixes the problem of launching more than one document with one application
at once with Tracker (eg. launching several text documents) - only the first one
would have been opened, and an error B_BAD_VALUE would have been reported for the
others:
* HandleAddApplication() did not return the correct token in case of a
  pending registration; therefore, BRoster::_LaunchApp() would try to
  check the registration with invalid arguments.
* HandleIsAppRegistered() put the pending registration requests into
  the fIARRequestsByToken map using the wrong key, so that they could
  not be found again.
* Minor cleanup (fixed indentation of not so temporary debug code).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 21:48:06 +00:00
Marcus Overhagen fab4e5b126 oops
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 21:39:18 +00:00
Marcus Overhagen de372c5c6b wait for phy communication
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 21:38:21 +00:00
Marcus Overhagen 22cf14cfbe perform port reset and wait for devices to be detected
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 21:32:32 +00:00
Marcus Overhagen be30f13184 fixed wrong port definition
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 19:08:22 +00:00
Rudolf Cornelissen 7abeaef54d added engine command fifo setup for TCL_PRIMITIVE_3D for NV15 only for now (testing). Over here the NV15 keeps running and the command seems responsive. I hope this doesn't crash other NV15's outthere.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 14:12:18 +00:00
Rudolf Cornelissen f8863cf61d added engine command fifo setup for TCL_PRIMITIVE_3D for NV15 only for now (testing). Over here the NV15 keeps running and the command seems responsive. I hope this doesn't crash other NV15's outthere.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 14:11:53 +00:00
Axel Dörfler cbd4081064 * Fixed PLL timing computation for the i9xx chips - I mixed post2 min/max values, and did
not take the VCO limits into account; both could (and would during testing) create invalid
  frequencies.
* Also reverted the order in which the PLL divisors are traversed to match the order of what
  is used in the X driver to create comparable output (our error computation is based on float,
  though, and should therefore create more accurate values).
* The i965 introduced a special register for the surface; the former display base register
  is now only used for the view offset. Instead of setting the base manually here and there,
  there is now a set_frame_buffer_base() function.
* The DPMS code will now also turn off/on the PLL clock generator.
* The code needs some more cleanup, and while the driver now produces the correct timing on
  my i965 system, I'm now greeted by a black screen after startup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 09:02:35 +00:00
Ingo Weinhold 9c7408528e Implemented a ComplexLayouter class which is going to replace the Layouter
implementation which used the qoca constraint solver. It does the min/max
computation itself -- thanks to Peter Moulder for hinting that we're actually
dealing with separation constraints and proposing an algorithm. The actual
layout is done with the help of an active set method based optimizer.
The test results look very good so far. The code needs some cleanup (debug
output, math comments, special handling for some cases) and is therefore not
yet enabled by default.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 00:03:57 +00:00
Ingo Weinhold a0710babd7 Use delete[] for array deletions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-23 23:35:20 +00:00
Ingo Weinhold e2c699caec Fixed assert macro.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-23 23:32:03 +00:00
Jérôme Duval c8d47dfec3 added some other ids for HP laptops with Headphone jack sense quirk
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-23 21:52:54 +00:00
Jérôme Duval 8d93a4beb1 patch from Hüseyin Erdemir: his laptops HP nx8220 didn't have Headphone Jacksense working as is. Thanks!
Some other HP laptops have this problem.
Maybe we should have ac97 export quirks and the driver uses them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-23 20:57:00 +00:00
Jérôme Duval ef09f96409 update pci ids
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-23 18:23:54 +00:00
Jérôme Duval 210c64afd6 update to tzdata2007g
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-23 18:17:31 +00:00
Axel Dörfler a4e527db79 * Fixed build for GCC 2.95.3 - it does not support newer C syntax.
* Minor cleanup (there shall be 2 lines of space between functions).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-23 17:21:41 +00:00
Marcus Overhagen 8961bec039 try to activate link and spin up the device
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-23 09:24:06 +00:00
Ryan Leavengood 10508d2e99 Implemented Ingo's suggestions to avoid the situation that condition variables
don't block when they should because the semaphore sometimes gets released too
much. One day I'll try to add some tests, though this seems like something you
can't exactly unit test.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-23 02:48:30 +00:00