Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler aad0d344f0 The slab areas shouldn't be user readable...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-03 10:33:03 +00:00
Axel Dörfler 9a2d0cf6ff Applied patch by Anthony Lee: the user was attached to the font manager too
late, therefore, the DesktopSettings couldn't access user fonts. This fixes
bug #1691, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-03 10:13:21 +00:00
Axel Dörfler 2671053585 gethostbyaddr() was used incorrectly, found by James Woodcock, thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-02 22:29:30 +00:00
Axel Dörfler c88e5e410c * Added support for the G33 line of chips: mode setting and acceleration is working fine AFAICT.
* Implemented mapping the GTT area for i9xx chips other than the i965. This should also fix the
  driver working with these chips at all.
* The memory used by the driver now take the GTT area into account - before the GTT could be
  overwritten theoretically...
* Added fix for some i965 quirks from the X driver.
* Added some overlay definitions for the i965.
* Started support for G33 overlay (not complete yet).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-02 18:44:39 +00:00
Axel Dörfler 68af0a3fff If there is no /etc/hosts file, we now add a "localhost 127.0.0.1" definition
internally. This fixes #1688.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-02 16:16:28 +00:00
Axel Dörfler 4d85dcbce8 Removed the experimental BColumnListView class from libbe.so, and moved it
into its own archive (libcolumnlistview.a). Only DriveSetup is using it at the
moment, anyway.
IMO we should reimplement and completely redesign a class with this
functionality before considering making it public.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-30 13:31:45 +00:00
Axel Dörfler 33d3580bdc Fixed copy&paste bug, thanks Stefano!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-30 13:02:13 +00:00
Axel Dörfler deb58f165b * DispatchMessage()'s B_WINDOW_ACTIVATED now checks if there are any pending
activation messages, and always retrieves the information from the latest.
* Reverted r23062, as the above should fix bug #613 as well.
* This should also fix bug #1674.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-30 12:46:30 +00:00
Axel Dörfler 73ad280ad3 Fixed build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-27 22:56:44 +00:00
Axel Dörfler 2157e06c63 * Moved code to remove the parent to the Partition destructor - this should fix
the problem that the parent partition was still referenced in some cases.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-27 18:20:33 +00:00
Axel Dörfler 96689a5cb8 * If DEBUG_ALLOCATIONS is defined, freed memory is now filled with 0xcc,
and it's checked if a chunk is already in the free list, and if any chunk
  has an invalid size. It's defined for now.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-27 16:56:28 +00:00
Axel Dörfler 120453cdd0 Forgot to add the SWI taskqueues - this should fix #1668.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-16 19:42:26 +00:00
Axel Dörfler 1607b8e503 * Added Broadcom BCM570x driver from FreeBSD (bge). Does not compile yet, needs
a bit more work on the compatibility layer.
* Added nVidia nForce MCP driver (nfe) from FreeBSD. Compiles and might even
  work - please test. It would also be nice to know if your PHY is detected
  correctly (see syslog output).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-16 10:56:30 +00:00
Axel Dörfler 81abd45c3e There was no space when the buffer was completely empty...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-13 19:27:05 +00:00
Axel Dörfler b879372352 Added the timeout to QueueCommand::MakeSpace() as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-13 15:44:41 +00:00
Axel Dörfler 8818c50507 * Made QueueCommands::Write() and MakeSpace() public.
* Implemented MakeSpace() (not yet tested).
* Changed intel_wait_engine_idle() to spin() between reads and to timeout
  after 1 second of waiting (could probably be done way earlier).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-13 14:56:28 +00:00
Axel Dörfler 9b13056ba2 * Print the resolution the boot loader has chosen.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-11 21:14:26 +00:00
Axel Dörfler 7825641a7b Now clears the frame buffer before setting the mode; at least when testing,
one sometimes could still see previous contents of the screen during boot up
for some time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-10 18:42:14 +00:00
Axel Dörfler 5f23ba4ac9 If either the path or the resolved path is NULL, realpath() now returns
EINVAL. This also fixes bug #1659.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 21:45:40 +00:00
Axel Dörfler 9abdc42489 If there are more than 4 MB dirty cache pages, the page writer won't stop anymore
writing back pages when there is enough free memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 20:32:04 +00:00
Axel Dörfler 2c0729ea2d * Turns out the 3com driver wasn't picked up after my changes, but the marvell_yukon driver
worked flawlessly this one time... (I got almost 10 MB/s with that one, now 7.5 MB/s with
  the 3com driver)
* We need to acknowledge the interrupt in the handler, because else, the interrupt continues
  to fire after the PIC interrupt is acknowledged by the kernel.
* It also helps a lot to turn off the interrupts on the device while xl_intr() is handling
  the interrupt.
* When the slow handler is running, we now set the new "handling" field in the internal
  interrupt handler which will not invoke the scheduler then (but only signals a handled
  interrupt).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 19:38:51 +00:00
Axel Dörfler f79121dacb * Only acknowledge the interrupt in the service thread, so that no new one will be triggered.
* Also, loop as long as new interrupts are coming in.
* This fixes the high CPU usage and low throughput of the 3com driver; it now works just fine;
  dunno why it worked for me that well last time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 14:52:14 +00:00
Axel Dörfler 21885de266 * BFS now always writes back the whole block when it writes the super block.
* Therefore, I've added an I/O control that let's it update the boot block
  part of this block, so that makebootable can use it on a mounted volume
  (this will probably be moved into a disk system API later).
* Added user_memcpy() to the fs_shell.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 14:23:35 +00:00
Axel Dörfler a83a20f685 * Made cal.c compile, and fixed warnings.
* Added it to the build, and the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23068 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-06 20:40:24 +00:00
Axel Dörfler d3a580d2e0 The fs_shell now also works with devices that don't return a correct
hd_geometry, but do support the BLKGETSIZE64 ioctl (it just crashed 
before).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23064 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-05 18:33:58 +00:00
Axel Dörfler 4afaeabbd8 * bfs_free_cookie() accidently reverted a transaction after having updated
the inode's internal last modified and size copies, causing in inconsistent
  data. This fixes #1643.
* The block being replayed are now dumped to the debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23050 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-02 16:38:38 +00:00
Axel Dörfler 653eea311d Added "mail" directory - this fixes Beam not starting up on a plain
Haiku installation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-02 14:30:52 +00:00
Axel Dörfler fc8ffb64ec Applied a slightly changed patch by cl21: changed how the BListItem layouts
its text contents. This fixes bug #619. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 19:51:56 +00:00
Axel Dörfler 4a241f2ac3 Some more extensions to the FreeBSD compatibility layer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23043 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 17:34:59 +00:00
Axel Dörfler 5536ea1018 The Marvell Yukon driver needs the SWI task queues as well. The driver is now working, but it
does not yet work reliably here - it encounters a "PCI Express protocol violation", at least
that's what it says. Will look into that later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 13:18:09 +00:00
Axel Dörfler 589e5418f1 * We need to call if_init() before trying to set the media.
* Accidently excluded the MII bus from being probed in r23019 - in fact, now all
  devices have to be probed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 13:16:34 +00:00
Axel Dörfler 4dc1122b30 The "ints" KDL command now also dumps the handlers associated to a vector.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 12:01:11 +00:00
Axel Dörfler 1f89a3766a * device_delete_child() now works differently from FreeBSD: in FreeBSD you can't just
call this function if you don't know if a device has a direct reference to one of
  its children. Since we want to be able to delete the root without having any knowledge
  about its children, we now detach everything first, and then delete the entries.
  This fixes a possible crashing bug when a preloaded driver (used for network boot)
  tried to acquire its resources again at a later point.
* device_detach() and device_attach() now check if the device has an attach or detach
  method at all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 11:09:58 +00:00
Axel Dörfler 82edabb115 Implemented device_detach(), and bus_generic_detach() - both are needed by
the updated mii code on destruction.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 18:50:40 +00:00
Axel Dörfler debb1200cc Accidently removed our changes when updating to the FreeBSD 7 version of the driver.
Ingo, this is your chance to remind me of the vendor branch :


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 18:39:56 +00:00
Axel Dörfler 372952dffc * We now cache the local hardware address in the protocol object. This allows
us to not have to look it up in arp_send_data(), and also to have more than
  one uninitialized interface around (ie. set to INADDR_ANY), and still have
  the ARP layer act correctly.
* arp_update_entry() now allows entries that link to INADDR_ANY to be updated
  at will. This fixes trying to bring more than one uninitialized interface up.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 14:10:52 +00:00
Axel Dörfler eac3f1b76d Added marvell_yukon driver, and marked all FreeBSD drivers to be compiled for
x86 only (for now, that should be easily fixable).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 12:31:33 +00:00
Axel Dörfler 30710739a3 * compat_open() still needs to get the stack module, as the callout
functionality needs it.
* callout_init_mtx() now initializes the timer manually, since the stack
  might not have been loaded yet (since a device is now attached in
  init_driver()).
* Minor other fixes; the FreeBSD compatibility layer should now be functional
  again.
* Accidently put pci.c into the repository, but that was never meant to happen.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 12:28:51 +00:00
Axel Dörfler 053693ef2a Since device_add_child() needs the name of the parent driver, the root
device needs a driver_t object, too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-30 09:40:52 +00:00
Axel Dörfler b7ac21f6cb * Updated the driver to the FreeBSD 7 version.
* Made it compile - not yet tested (but I do have the hardware).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-29 19:12:20 +00:00
Axel Dörfler 080b265acd Completely renovated the FreeBSD compatibility layer:
* Removed NETDEV() and DEVNET() macros and functionality.
* The exported devices are now attached to ifnet objects only, therefore, the
  ifnet object now has the receive queue, and everything else a device could
  need.
* There is now a root device where everything else is attached, it currently
  only holds the pci_info structure, so it's more or less a PCI child.
* This simplified the device handling a bit everywhere.
* We now attach drivers already in init_driver() - this is needed as drivers
  may publish more than one interface when being attached.
* Implemented device_delete_child(), device_attach() (which bus_generic_attach()
  now uses), device_is_attached(), and device_is_alive().
* Therefore, if_initname() does now the actual job of registering the devices.
* On open, if_init() is called which comes pretty close to what our open()
  is supposed to do.
* Updated ukphy.c to the one from FreeBSD 7 where used (we should probably
  move that into the compat layer, anyway).
* The MII driver array must now be NULL terminated; therefore you don't need
  to specify the count anymore.
* Moved PCI code from compat.c to bus.c.
* Moved the driver code from device.c to driver.c.
* Removed superfluous init_compat_layer() function.
* Fixed a few bugs, a few things weren't brought down correctly.
* The rtl8139 interrupt routine now checks if it really was the cause of the
  interrupt - this code is not tested, either, it may not work (which would
  then require a work-around like I did for the 3com driver).
* The HAIKU_PROTECT_INTR_REGISTER in the rtl8139 driver was pretty much useless
  which is why I removed it.
* Probably introduced a lot of new bugs, though - I haven't tested this code
  at all yet. It will probably just crash :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-29 18:56:03 +00:00
Axel Dörfler b26de2e398 Some additions from FreeBSD 7 code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 22:16:55 +00:00
Axel Dörfler 78f45b048f Added e1000phy code to marvell_yukon driver. The driver is still not functional,
though - it's a bit more complex, and needs a better compatibility layer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 22:13:48 +00:00
Axel Dörfler 6b09666034 The compatibility layer was calling if_init() too early, I've now moved it to the compat_open()
function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 17:00:33 +00:00
Axel Dörfler 8fce87ae34 * device_add_child() now also works for sub-drivers, needed by the marvell_yukon driver.
* The device path is currently inherited from its parent which might be revised later on (nameunit
  is not y


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 16:59:35 +00:00
Axel Dörfler 1ab7a518e9 Added fallback MII to the marvell_yukon driver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 16:50:48 +00:00
Axel Dörfler 6244441ad4 * Made the debugger command "team_images" a bit more useful: it now accepts a
team ID argument, instead of only being able to dump the images of the current
  team.
* The debugger commands are now now also built-in without the DEBUG flag set
  (for now).
* _get_next_image_info() now also supports the B_SYSTEM_TEAM constant.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 11:56:06 +00:00
Axel Dörfler 7f30afa46c * Renamed old ipro1000 driver to beos_ipro1000, as it's still valuable for BeOS R5
and later (should be moved somewhere else, though).
* Renamed FreeBSD's Intel PRO 1000 driver (known as "em" in BSD) to ipro1000 which
  also puts it on the image, instead of the old one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-27 16:38:20 +00:00
Axel Dörfler 5845b6ecc5 * The boot loader now remembers the bytes per row as told by the graphics card, and
passes that information on to the kernel. This should fix wrong bytes per row with
  certain resolutions and graphics cards.
* The boot loader now recognizes 15 bit modes that are advertised as 16 bit modes.
  This should fix wrong colors in 16 bit modes on some cards.
* Reenabled setting MTRR for VESA mode - don't remember why I disabled it, but it
  works fine on my test machines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-27 16:33:19 +00:00
Axel Dörfler 3ae3b04bce * The boot loader (bios_ia32 only) now duplicates everything that goes to the
serial output, and puts it into the new kernel_args::debug_output field.
* syslog_init() will now check if there is anything in kernel_args::debug_output
  and will put that into the syslog buffer.
* dump_block() now also prints an offset.
* Fixed warning in mmu.cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-27 12:59:34 +00:00
Axel Dörfler da744139fa Fixed setting up an interrupt using the new filter method: INTR_FAST doesn't
have to be set in this case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-26 21:47:22 +00:00
Axel Dörfler d0007186e5 The fs_shell cache implementation had the same problem as our real cache
until r22998 - but since this was the only implementation, its consequences
were much more likely.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-26 16:02:10 +00:00
Axel Dörfler bade8d7b70 The MediaAddonServer destructor was never called, thanks Stippi!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-26 14:29:55 +00:00
Axel Dörfler 9ff70e7468 read_from_file() and write_to_file() did not take the pageOffset into account.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-26 13:38:32 +00:00
Axel Dörfler 3891a797aa * Now checks if the media_server is running in ReadyToRun(), and quits itself
if not. This fixes bug #323.
* Now uses find_directory() instead of hard-coded add-on paths.
* A few more error checks.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-26 12:22:53 +00:00
Axel Dörfler 8b4ee93be6 Build fix; fbsd_ether.c did not compile anymore (but was not recompiled since
the wrong header was included).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-25 12:11:36 +00:00
Axel Dörfler ecbcc47480 Added FreeBSD 7 driver for the Marvell Yukon chips. Compiles, but is otherwise
completely untested yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-25 11:31:51 +00:00
Axel Dörfler 239239c8a0 * Updated the FreeBSD compatibility layer for network drivers to FreeBSD 7
(RELENG_7_BP).
* There are many white spots, though, most notable PCI MSI(-X) support, and
  jumbo frames.
* Fixed removing interrupts for the INTR_FAST case. Since FreeBSD 7 added
  a new interrupt "filter" mechanism, we can finally report if the interface
  was handled by a device or not (though only very few devices support this
  yet).
* Updated the 3com, rtl8139, e1000, and via_rhine drivers to the latest code
  base. They all compile, but I haven't tested them after the changes yet!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-25 11:29:29 +00:00
Axel Dörfler 3721f6df39 Minor update; even though the TODO file isn't that long anymore, it doesn't
hurt to have it in the repository.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-24 15:43:46 +00:00
Axel Dörfler b304ba4bef Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-24 15:38:05 +00:00
Axel Dörfler 96bc573e6e Include <be_apps/Tracker/Background.h> specifically, instead of adding the
header directory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-24 15:35:07 +00:00
Axel Dörfler 3b54b5c49e * Renamed "Store Current" to "Snapshot Current", and "Restore Saved" to
"Restore Snapshot".
* Implemented a simple undo/redo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-24 14:36:13 +00:00
Axel Dörfler 684f9b91a8 * Now reports a proper error when the attribute file is empty (instead of just
printing the usage info).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-23 13:45:05 +00:00
Axel Dörfler 349ba1a53c * IsDoubleBuffered() was not correct - fModeList has nothing to do with the
back buffer. This fixes bug #1631.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-21 15:45:12 +00:00
Axel Dörfler ff99132e67 * Removed fs_get_file_map(); for a file system that only has contiguous files,
there is no need for the file map service.
* Added and implemented fs_read_pages() - this should fix bug #1633; the file
  system had not been ported to the new file cache API yet.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-21 12:41:58 +00:00
Axel Dörfler 1dec1e5786 display_mode::[hv]_display_start fields were not set when using a certain
Screen::SetMode() method, thanks to Gerald Zajac for reporting this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-20 21:34:59 +00:00
Axel Dörfler d46836a8b0 Now opens the types window on B_SILENT_RELAUNCH if it's not already open.
This fixes bug #1628.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-19 15:30:32 +00:00
Axel Dörfler e551be6e70 If a device returns an invalid size, we shouldn't crash.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-19 13:57:46 +00:00
Axel Dörfler 4020e749da Replaced the old 1920x1200 resolution mode line with another one with a slightly
higher pixel clock, tested by Dr. Hartmut Reh.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-19 11:32:45 +00:00
Axel Dörfler 647c0044ff The "drag&duplicate value" feature was not working reliably when removing hints
after a value was set, as fLastField was not updated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-19 09:15:04 +00:00
Axel Dörfler d4fc2b7db7 * Fixed a bug reported by Ryan: the stack_end pointer of a thread was reported
one too low in comparison with BeOS (ie. the end pointer was inclusive, now
  it's exclusive).
* Moved static functions fill_thread_info(), and {send|receive}_data_etc() to
  the private function section.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-18 11:59:53 +00:00
Axel Dörfler 79939c8d1e The KDL command "teams" now also prints the team ID in decimal rather than hex.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-18 11:57:35 +00:00
Axel Dörfler 91adcde60f When having set/removed a value or hint, you can duplicate that action (or
remove the hint for that value) by dragging the mouse over other fields with
the mouse button held.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-17 14:15:31 +00:00
Axel Dörfler 8d2fdf2b0e Added Flush() to SetMouseEventMask(); this should definitely be sent immediately.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-15 15:06:51 +00:00
Axel Dörfler 7301a7fbdb bonefish+axeld:
* The debug_server now sends the registrar messages whenever the debug alert
  is shown, and also, if the user wants to debug the team.
* In the latter case, the registrar will now cancel a shutdown process.
* Also, it will now wait with the shutdown process until the user has
  acknowledged the debugger alert.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-14 01:28:47 +00:00
Axel Dörfler bfccde1f6a Forwarding did not work anymore for direct targets, since the header::flags
field was not initialized properly, and the reply target was taken from the
wrong header in this case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-14 01:22:43 +00:00
Axel Dörfler 28143c31d1 Build fix: iso9660_identify.cpp still included the old header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 20:31:31 +00:00
Axel Dörfler 63d2ded05d Added a "net_timer" KDL command that dumps all network timers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 15:20:51 +00:00
Axel Dörfler fb431b443b * vfs_unmount() can now safely be called from the kernel (fs_unmount() still
tried to access the uninitialized vnode in that case).
* That means that it's now safe to remove a mounted CD from the drive, it
  will then be unmounted automatically.
* Added a check for partition::Device() - even though Ingo tells me it's
  impossible, it was NULL once.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 15:19:21 +00:00
Axel Dörfler dc9a52b917 Renamed iso.h to iso9660.h.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 14:57:11 +00:00
Axel Dörfler 5b2c5d03e8 * Fixed a crashing bug in the identification code: it copied a C++ object on
the stack to an allocated one - on destruction of the latter, the resources
  were already freed.
* Made the identify code more negligent against bad CDs - ie. it will identify
  even broken CDs if they can be mounted.
* Made identification endian aware (it should now also work on big endian
  systems).
* Renamed many structures, methods, and fields to be less verbose, and follow
  our style guide.
* Renamed iso9660.cpp|h to iso9660_identify.cpp|h.
* Renamed iso.c to iso9660.c, rock.h to rock_ridge.h.
* Removed unnecessary cruft from the Jamfile.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 14:55:11 +00:00
Axel Dörfler 64a19b4444 Philippe was right, of course, the media checker thread did not bother to
check the fTerminating flag, so it would never quit (too bad no one ever quits
it anyway :-)). Thanks for proofreading!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 12:20:39 +00:00
Axel Dörfler 7333992516 On a media change, the KDiskDevice must do a bit more than it did:
* it now updates the partition data,
* the flags,
* and the disk geometry - and that now allows the session add-on to actually
  detect a newly inserted CD.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 12:18:06 +00:00
Axel Dörfler ddd1769901 The file map code isn't that smart yet...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 11:20:17 +00:00
Axel Dörfler 4a31d30e84 * The file map needs to know the actual file size to be able to know if it has
the complete extent info or not.
* file_map_translate() now cuts down the request to the file bounds.
* Adjusted BFS and FAT to the API changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-13 10:34:48 +00:00
Axel Dörfler 88ef411154 * Added an UninitializeMedia() method to KDiskDevice that also resets the
device geometry.
* If SetTo() reports no media, and GetGeometry() fails, the device geometry
  is now reset as well.
* KDiskDeviceManager::_ScanPartition() no longer unmarks the partition busy;
  this is now done by the caller, and done independently from the outcome of
  _ScanPartition(). This also fixes the problem that devices with no media
  were never marked unbusy (and thus were ignored subsequently).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-12 23:20:33 +00:00
Axel Dörfler ef6f42349c * The session module deleted its cookie twice, after identifying, and when the
partition cookie was deleted - when removing a CD it would crash.
* Since the partition cookies are not needed at all, we don't use it anymore.
* scan_partition() deleted the identify cookie on error, but that's not its
  job - free_identify_cookie() is always called, no matter what scan partition
  does.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-12 22:38:39 +00:00
Axel Dörfler 5b1f301a11 * _FindBestMode() can now also take the aspect ratio into account.
* Reduced rating of the color space - after all, the resolution is more
  important.
* The EDID detailed modes are now scanned for the best mode available, this
  could be done in various ways, so please report any problems you have with
  it.
* Ignore resolutions below 640x350 - this should also fix bug #1615.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-12 11:44:55 +00:00
Axel Dörfler 637c2a8557 A tiny bit more debug output when tracing is enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-11 16:33:28 +00:00
Axel Dörfler 364759e0d2 * The "bytes" as passed to {read|write}_file_io_vec_pages() was never
initialized, causing those functions to read|write a random amount.
* This fixes bug #1614 - amazing how well the system worked with those randomly
  sized requests...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-11 16:28:56 +00:00
Axel Dörfler f0d9382047 * The previous locking order "inode write" -> "journal" was not only not
honoured (in the Inode attribute code), it also couldn't be honoured there.
  Therefore, the locking order is now reversed, that is "journal" comes first,
  then the Inode write lock. This should also help with the lock ups that
  appeared after r22886.
* Got rid of INODE_NO_TRANSACTION; it doesn't make any sense to use.
* When Inode::WriteAttribute() changed the type, the type field was actually
  never written back within the current transaction.
* If the attribute data fit into the inode again, the attribute's write lock
  was never released.
* Since r22886, Inode::ReadAt() does its own locking, so we must no longer lock
  the inode before calling it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-11 13:07:56 +00:00
Axel Dörfler 6edf637ba6 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-11 13:00:59 +00:00
Axel Dörfler 0d8939aea7 There is absolutely no need that the interface packet consumer runs at a
priority that high.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-11 12:55:22 +00:00
Axel Dörfler c98d35dc33 This might help with the build on Linux.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 21:46:57 +00:00
Axel Dörfler 3d268eda3d * Extracted file_map API out of the file cache - it's now an optional service
that can be used by file systems.
* Changed the way the file cache works: instead of reading/writing to the
  underlying device directly, it can now be used for any data source, ie.
  also network file systems.
* As a result, the former pages_io() moved to the VFS layer, and can now be
  called by a file system via {read|write}_file_io_vec_pages() (naming
  suggestions are always welcomed :-)). It now gets an FD, and uses that to
  communicate with the device (via its fs_{read|write}_pages() hooks).
* The file_cache_{read|write}() functions must now be called without holding
  an I/O relevant file system lock. That allows the file cache to prepare the
  pages without colliding with the page writer, IOW the "mayBlock" flag can
  go into the attic again (yay!).
* This also results in a much better performance when the system does I/O and
  is low on memory, as the page writer can now finally write back some pages,
  and that even without maxing out the CPU :)
* The API changes put slightly more burden on the fs_{read|write}_pages()
  hooks, but in combination with the file_map it's still pretty straight
  forward. It just will have to dispatch the call to the underlying device
  directly, usually it will just call its fs_{read|write}_pages() hooks
  via the above mentioned calls.
* Ported BFS and FAT to the new API, the latter has not been tested, though.
* Also ported the API changes to the fs_shell. I also completely removed its
  file cache level page handling - the downside is that device access is no
  longer cached (ie. depends on the host OS now), the upside is that the code
  is greatly simplified.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 21:19:52 +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
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