Commit Graph

21870 Commits

Author SHA1 Message Date
Ingo Weinhold 17fdd1f071 Initialize ref count.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 20:31:50 +00:00
Ingo Weinhold c9830ce0f5 * KDiskDeviceManager::{Find,Load}DiskSystem() can also find the disk
system by pretty name (not only module name) now.
* _user_initialize_partition() loads the disk system by pretty name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 20:30:22 +00:00
Marcus Overhagen aee1388ada improved debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 19:15:12 +00:00
Marcus Overhagen 68cbf40298 Switch Intel AHCI controller from IDE into AHCI mode.
Clears BAR5 on ICH8 and ICH9.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 18:59:29 +00:00
Marcus Overhagen f41613d5b2 Removed non-AHCI id. Reverts bugreport #1599 change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 18:55:57 +00:00
Marcus Overhagen f53094e7ea fail gracefully when base address register or irq hasn't been assigned.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 18:41:24 +00:00
Salvatore Benedetto e3677c6d3c * ups :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 18:36:56 +00:00
Marcus Overhagen 79844706c2 Propagate is-ATAPI restriction to the SCSI bus manager.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 17:47:57 +00:00
Salvatore Benedetto a097d8c8ee * Placed underscore to private methods like ReadReg and WriteReg
* Rewrote _AllocateEndpoint
* More work in the constructor


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 17:47:03 +00:00
Ingo Weinhold db81403db4 Beginnings of a BFS userland disk system add-on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 17:34:44 +00:00
Ingo Weinhold 57225f0367 * Moved helper function to check initialization parameters to separate
source file. Added function to check the volume name.
* Removed bfs_validate_initialize(). This functionality is to be implemented
  in a userland add-on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 17:33:47 +00:00
Marcus Overhagen 117c680d90 Warn when lun is not 0. Might be needed for SATA PM support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 16:49:39 +00:00
Marcus Overhagen 8d722116c2 Enable SATA ports 5 and 6 on Intel ICH8 and ICH9 based
systems, and possibly enable ports 7 and 8 in the future.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 16:25:49 +00:00
Marcus Overhagen 65621982c9 New PCI quirk/fixup support.
The Jmicron AHCI controller has a mode that combines IDE and AHCI functionality
into a single PCI device at function 0. This happens when the controller is set
in the BIOS to "basic" or "IDE" mode (but not in "RAID" or "AHCI" mode).
To avoid needing two drivers to handle a single PCI device, we switch to the
multifunction (split device) AHCI mode. This will set PCI device at function 0
to AHCI, and PCI device at function 1 to IDE controller.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 15:51:40 +00:00
Ingo Weinhold 83274b7115 Patch by Vasilis Kaoutsis: Shell script to run the POSIX conformance tests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 23:36:37 +00:00
Ingo Weinhold 627c5b3f82 Patch by Vasilis Kaoutsis: Added posixtestsuite tests for sigrelse().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 23:27:30 +00:00
Ingo Weinhold 99ed286c94 Patch by Vasilis Kaoutsis: Implemented sigrelse().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 23:23:46 +00:00
Axel Dörfler c84c58e41a Extracted file_map API for later use.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 17:09:54 +00:00
Marcus Overhagen 270d4ee0ec disabled most debug output, this makes the driver useable
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 16:36:59 +00:00
Marcus Overhagen 8c8d63ee00 added more device IDs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 15:49:55 +00:00
Jérôme Duval 5fac00b279 3com, rtl8139 and via_rhine are only buildable for x86
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-08 20:24:08 +00:00
Axel Dörfler 3af0509ddb No wonder the page writer sucked so many cycles: the PageCacheLocker constructor
did not propagate the "dontWait" argument, letting the page writer never wait
for its pages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-08 15:24:27 +00:00
Axel Dörfler 9edc2b526f The reserved pages computation used the same broken logic as read_into_cache()
and write_to_cache() before, IOW the cache could reserve too few pages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-08 14:44:13 +00:00
Axel Dörfler cfe386c2d5 * read_into_cache() and write_to_cache() both did not compute the number of
needed pages correctly, and would also not read/write enough in case the
  offset didn't start at 0 resulting in undetected short reads/writes. It's
  amazing how many bugs can be hidden in a few lines of code.
* Fixed a bug that might have been the cause for bug #1601: when the last part
  of the write did not end on a page boundary, the last page had to be read
  first, but that was done from the wrong offset. Also, if only parts of that
  page could be read (because the file size didn't span over the whole page)
  the remaining parts needed to be cleared.
* The cache_funcs were always called with the same value for numBytes and
  bufferSize so I've eliminated the former.
* Large reads now also bypass the cache in case of low memory, large writes now
  also only bypass the cache in that case, following Ingo's suggestion.
* Fixed compilation with debugging turned on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-08 13:45:04 +00:00
Axel Dörfler 09149281e0 The file cache now completely bypasses the cache for writes equal or larger
than 64KB. Reads should probably get a similar logic, at least if memory is
tight.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-08 09:30:58 +00:00
Axel Dörfler 67f0ddf604 Added the sModifiedTemporaryPages counter to the output of the "page_stats" KDL
command.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 22:26:55 +00:00
Stephan Aßmus c900be6501 * fix saving settings (don't let the window quit by itself)
* add partition creation menu items
* filter filesystems by their support for "initializing"


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 22:16:06 +00:00
Stephan Aßmus f9ca8faab7 * renamed main.cpp to DriveSetup.cpp
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 20:11:56 +00:00
Stephan Aßmus 753e3d4ef7 cleaned up the code:
* conforming app signature
* tracked down copyright info
* removed too technical list columns
* reimplemented storing/restoring settings (removed PosSettings)
* relayouted/simplified menu structure
* rewrote rdef
* enabled debug output for now


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 20:10:19 +00:00
Axel Dörfler f7e414f22b * Made page_writer() use a marker page as well, so that it won't try to get
the same pages over and over.
* Increased the priority of the page writer a bit, so that it is higher than
  the one of the page daemon.
* Added a sModifiedTemporaryPages counter to let the page_writer decide how
  many pages are there to write back (temporary pages would go to the swap file
  and are only written back when memory is low).
* In case there are more than 1024 modified (non-temporary) pages around, the
  page writer will constantly write out pages, not only when being pushed.
* The page writer now temporarily always leave out temporary pages (as long as
  we don't have a swap file).
* Shuffled functions around a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 17:09:05 +00:00
Axel Dörfler a425a5ae4d Keyboard navigation only worked after the first field was set.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 14:42:07 +00:00
Axel Dörfler 82a54995b5 * Fixed _ComputeColumnLayout() optimization introduced in r22658: it actually
never worked correctly for any case which was very visible in Tracker (and
  especially so if you had "sorting apps" turned on).
* Removed superfluous white space at the end of lines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 14:24:09 +00:00
Stefano Ceccherini afd60167e3 Reverted r21395. Many people didn't like the change, and after all I too
think it wasn't a really good idea. The alignment of shortcut 
charachters and submenu symbols could use some more work, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 09:38:55 +00:00
Jérôme Duval 0aded81728 clean the background for all workspaces when no image is selected
this fixes bug #1602


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 23:35:07 +00:00
Ingo Weinhold f88e00f507 Patch by Vasilis Kaoutsis: Added posixtestsuite tests for sighold().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 22:14:01 +00:00
Ingo Weinhold 0a1968cf8f Patch by Vasilis Kaoutsis: Implemented sighold().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 22:11:43 +00:00
Ingo Weinhold def1a8a91c Patch by Vasilis Kaoutsis: The Open Group Base Specs for signal() require
errno to be set to a positive value on error, but since BeOS error codes are
negative numbers, we can't comply. Changed the tests accordingly to check for
the expected error code (EINVAL) instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 22:06:40 +00:00
Hugo Santos 5450cae172 try to hide the gruesome details from the glue code as much as possible.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 16:45:10 +00:00
Axel Dörfler b35a3514f1 Now allows you to store a state of the current puzzle, and to restore it later on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 13:45:32 +00:00
Axel Dörfler 6405549873 No wonder no one noticed that the silicon_image_3112 driver was broken; I
actually forgot to commit the changes I made to the ide_adapter...
* the IDE bus master command/status stuff is now used via flags; it's no
  bitfield anymore.
* Changed a few constants to upper case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 02:26:44 +00:00
Ingo Weinhold a81e874ffb * Added opt-in debugging feature: Recent allocation-related operations
on pages are recorded in a history and can be printed via the
  "page_allocations" command.
* Fixed a problem in the page scrubber. It temporarily removed pages
  from the free list, which could have been reserved by someone else.
  When actually allocating the reserved pages, that someone could find
  free and clear lists empty and would therefore rightfully panic
  ("Had reserved page, but there is none!").


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-06 01:07:13 +00:00
Axel Dörfler ee75b36dea * My changes to the ide_adapter.h broke the silicon_image_3112 which I didn't
notice until now. Fixed again.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 23:08:58 +00:00
Axel Dörfler 8e185f271f DO NOT MAKE UNTESTED LAST MINUTE CHANGES (and also don't forget about them
before committing :-)) - this fixes the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 22:35:38 +00:00
Axel Dörfler 618ef1498d * Made at least scsi_cmd_rw_10 the same as the one in private/drivers/scsi_cmds.h;
ideally, we would only have one file and no copies - later.
* That also changed how READ/WRITE_6 commands are translated to READ/WRITE_10
  commands, but it was obviously correct before, at least I can still reproduce
  bug #1577 (so it has to be something else).
* Spotted a few suspicious uses of transform_6_10() vs. transform_cmd_6_10();
  at least the FreeBSD driver seem to work differently here, anyway (it always
  uses 12 byte commands for most of these).
* Cleaned up the file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 22:28:03 +00:00
Jérôme Duval 8bef760f81 create media settings directory before saving default nodes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 21:54:12 +00:00
Axel Dörfler a00a1f4144 * Added the device/vendor pair of the ICH7 used in the MacBooks, courtesy of
"chrisjp", see bug #1599.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 17:45:31 +00:00
Stephan Aßmus d4983ec0c8 * use BListItem::Height() consistently (clicking a nick in Vision now selects
that same nick, not a different one)
* performance improvement in Draw() (using ItemFrame() in the inner loop scales
  really bad)
* fixed scroll range for when BListItem::Height() is non-integer (scrolling
  all the way to the bottom in Visions nick list works now)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 15:29:25 +00:00
Axel Dörfler 5ff3d4f2db * If steal_pages() stole more than originally asked for, it might have lost those pages in the
non-reserve case.
* vm_page_allocate_page() could also lose a stolen page in case more free pages were available
  after steal_pages() was called.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 11:37:02 +00:00
Bruno G. Albuquerque a66c2a2c9e Made the FreeBSD rtl8139 driver the default one and removed the other driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 11:13:27 +00:00
Ingo Weinhold 7b45b55be1 * Added back and partially reimplemented the
K{Disk,File,Partitioning}System writing methods. It is now required
  that the caller has marked the concerned partitions busy, hence we can
  (read-)access them without needing a lock. The module interfaces will
  will be changed to take advantage of the fact as well. The methods take a
  disk_job_id instead of a KDiskDeviceJob* now, though I haven't quite
  decided, whether we need it at all or just want to add a special
  handling in the cases where notifications during the operation make
  sense.
* Reimplemented the disk device write support syscalls (save
  _user_move_partition() for which other module hooks are needed). They
  call the KDiskSystem methods, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 00:42:47 +00:00