as we cannot do so with interrupts turned off (ACPI needs to allocate memory
dynamically).
* Turn off interrupts right before going to sleep (_GTS), this at least works
in VMware, maybe it also works on real hardware.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27500 a95241bf-73f2-0310-859d-f6bbb57e9c96
are put into all indices. For example, symlinks aren't part of the size
index. This fixes bug #2704.
* Also, Inode::NeedsTrimming() now ignores symlinks that have no data stream,
it's const now, too.
* Added helper methods Inode::In{Name|Size|LastModified}Index(), and use it
where appropriate.
* Clarified Inode::Create() description with regards to name vs. parent.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27471 a95241bf-73f2-0310-859d-f6bbb57e9c96
this test fails under BeOS, while it works just fine under Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27449 a95241bf-73f2-0310-859d-f6bbb57e9c96
guessing that the first attribute will be a name attribute, fCurrentSmallData
now takes hidden attributes into account.
* I haven't tested this change, though, so if it messes things up again, please
yell at me :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27441 a95241bf-73f2-0310-859d-f6bbb57e9c96
correct the permission mask. This fixes bug #2670.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27414 a95241bf-73f2-0310-859d-f6bbb57e9c96
be used now. Tested only with VMware so far.
* apm_shutdown() is now called with interrupts turned on.
* Renamed arch_cpu.c to arch_cpu.cpp.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27404 a95241bf-73f2-0310-859d-f6bbb57e9c96
wake vector (not tested at all).
* Removed disabling interrupts when entering the sleep state - looks like
ACPI still needs memory then.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27403 a95241bf-73f2-0310-859d-f6bbb57e9c96
the one specified. This should fix the "video mode out of range" message of
your monitor during boot, in case you had that one. Thanks to Hartmut Reh
for his help to be able to spot this.
* The mode returned by find_edid_mode(..., true) was never used.
* find_edid_mode() did not return any mode if there were no detailed modes
available.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27390 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Improved super type descriptions.* Moved mp3 attributes over to the super type.
* Improved super type descriptions.* Moved mp3 attributes over to the super type.
* Improved super type descriptions.* Moved mp3 attributes over to the super type.
* Improved super type descriptions.* Moved mp3 attributes over to the super type.
* Improved super type descriptions.* Moved mp3 attributes over to the super type.
* Improved super type descriptions.* Moved mp3 attributes over to the super type.
* Improved super type descriptions.* Moved mp3 attributes over to the super type.
* Improved super type descriptions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27145 a95241bf-73f2-0310-859d-f6bbb57e9c96
much simpler.
* Simplified code to compute "start", ie. the index of the first MIME type menu
item.
* Promote MIME types to the top-level if their super type don't add any
attributes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27143 a95241bf-73f2-0310-859d-f6bbb57e9c96
its parent. The item count of the parent is now actually adjusted, so that
additional entries are found.
* AddMimeMenu() now returns the menu of an already existing MIME type. Hence,
we don't add the supertype menu twice anymore for each type, or don't add
the second type at all when called again.
* Cleaned up naming, consistent use of "* " vs. " *".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27142 a95241bf-73f2-0310-859d-f6bbb57e9c96
that possibility.
* It now has a "remove" argument instead, that decides whether or not the
image has to be removed from the hash still.
* Moved locking to put_module_image(), ie. both, {load|unload}_module_image()
need to be called with the sModulesLock held now.
* module_init_post_boot_device() needs to remove the image from the hash itself,
or else it messes up its hash iterator.
* check_module_image() could call unload_module_image() under certain
conditions - but this was completely wrong, and could have caused crashes.
* search_module()/check_module_image() now keep a reference to the module
image on success, thus a caller doesn't need to call get_module_image()
again afterwards - this also fixes another round of potential module
unloading to happen.
* That reference is leaked for built-in modules in get_module(), but it doesn't
matter for them, anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27140 a95241bf-73f2-0310-859d-f6bbb57e9c96
as they aren't unloaded when there is no boot device yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27136 a95241bf-73f2-0310-859d-f6bbb57e9c96
causing a partial copy of the entry in vfs.cpp fix_dirent(), which then
returned an error, making FAT directories unreadable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27130 a95241bf-73f2-0310-859d-f6bbb57e9c96
dirent without the name first, and will then check if the d_reclen member
is valid before copying the name.
* This shows the problem with the FAT file system that was revealed by r26859.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27128 a95241bf-73f2-0310-859d-f6bbb57e9c96
we must use {read|write}_pages() instead of {read|write}().
* This should fix accessing other file systems than BFS (ie. those that doesn't
have an io() function) like ext3 and FAT.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27088 a95241bf-73f2-0310-859d-f6bbb57e9c96
global cache list before locking it. This allows to get rid of the
block_cache::deleting field, as well as simplifies some code.
* This also fixes a possible deadlock I recently introduced (on destruction,
the locking order was wrong).
* Now uses an anonymous condition variable instead.
* Moved the block_cache initialization code into a dedicated method that will
now also fail in case the low resource handler couldn't be registered (as
pointed out by Salvatore).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27074 a95241bf-73f2-0310-859d-f6bbb57e9c96
default).
* Enlarged the serial buffer that is handed over to the kernel to 8192 bytes.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27067 a95241bf-73f2-0310-859d-f6bbb57e9c96
"module" - hope that helps, Salvatore :-)
* Fixed warnings.
* Fixed udf_identify_partition() not to crash the system when a UDF partition
is available, and also fixed it to actually not claim non-UDF partitions.
* Moved partition naming (that shouldn't be done in identify!) to
udf_scan_partition(), and corrected it (ie. use strdup(), don't copy into
a NULL pointer...), but also disabled it for now, as it needs some more
work to pass a cookie from identify now.
* Whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27048 a95241bf-73f2-0310-859d-f6bbb57e9c96
stuff at all, anymore.
* Removed now unused get_device_for_path().
* unpublish_driver() now only deletes the device if unpublishing actually
worked out okay.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27038 a95241bf-73f2-0310-859d-f6bbb57e9c96
vector icon in case B_GET_ICON is not supported by the device anymore.
(This makes B_GET_ICON deprecated API.)
* Use B_BITMAP_NO_SERVER_LINK flag, as our bitmap is only used internally.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27036 a95241bf-73f2-0310-859d-f6bbb57e9c96
even if the icon is not available in that size (ie. is not a vector icon).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27034 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added inode ID member to BaseDevice to make this possible.
* Removed unused and unmaintained legacy_driver::devices_published field.
* Implemented legacy driver's unpublish_driver().
* Reenabled legacy driver reloading on changes.
* Renamed devfs_driver_{added|removed}() to driver_{added|removed}(), and
made them private.
* Simplified deletion of device_node lists (no need to use an iterator here),
added device unpublishing.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27033 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Removed B_GET_ICON support from scsi_disk, and scsi_cd. This won't be
necessary anymore soon.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27029 a95241bf-73f2-0310-859d-f6bbb57e9c96
exists -- this seems to happen only in case a specific name is given for
the target, though, so it might well be a bug in the fs_shell as well.
Seen when copying kernel.so to _KERNEL_ on a "update-all".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27016 a95241bf-73f2-0310-859d-f6bbb57e9c96
maximal size.
* Turned off debug output accidently enabled with the last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27006 a95241bf-73f2-0310-859d-f6bbb57e9c96
- B_GET_ICON_NAME: returns the name of an icon. This will then be read from
a predefined location on disk (not yet implemented). This would also allow
to add specifiers like "-boot", or "-fat|bfs|ntfs|...", and have special
icons for those.
- B_GET_VECTOR_ICON: retrieves the vector icon of a device, if any.
* get_device_icon(BBitmap*, ...) now supports other color spaces than B_CMAP8.
* Added get_device_icon(), BPartition::GetIcon(), and BVolume::GetIcon()
variants that can also retrieve the icon data directly (like
BNodeInfo::GetIcon()).
* Reenabled the previous BPartition::GetIcon(), based on a patch by
Justin O'Dell - this fixes#1391.
* Tracker's MountMenu class now uses B_RGBA32 icons, instead of B_CMAP8.
* Added vector icon to scsi_disk, and scsi_cd. The former doesn't have any
special removable icon, though.
* Header cleanup, added/updated license, whitespace cleanup.
* Marked deprecated/obsolete driver ioctls in Drivers.h.
* Removed OpenBeOS namespace in the headers I touched that still had them.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27001 a95241bf-73f2-0310-859d-f6bbb57e9c96
currently points to /etc for the system, and dedicated "data" directories
for common/user (the system directory should get a dedicated "data", too,
though).
* Added B_USER_CACHE_DIRECTORY (in config/cache).
* These additions were discussed some years ago, but I just had a good reason
to use them :-)
* Coding style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26990 a95241bf-73f2-0310-859d-f6bbb57e9c96
wait_for_timer() function.
* Moved the internal Fifo class into utility.cpp - we should probably just
remove it again.
* Fixed uninit_timers() so that it would even work in combination with the
timer thread if there are timers left to be scheduled.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26980 a95241bf-73f2-0310-859d-f6bbb57e9c96
now a vector resource.
* Changed bitmap icon to B_RGBA32 instead of B_CMAP8, use B_OP_ALPHA for
drawing the bitmap.
* Style cleanup in the MediaAlert.cpp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26978 a95241bf-73f2-0310-859d-f6bbb57e9c96
the revision failed using "svn info".
* While there is no official git tree, this should help those people using
svn over git.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26977 a95241bf-73f2-0310-859d-f6bbb57e9c96
our dma_restrictions structure (but we're using blocks instead of bytes,
since unlike the block size, the restrictions attributes are constant).
* We might want to use blocks for the dma_restrictions structure as well in
the future...
* Fixed another bug in the device_node variant of DMAResource::Init(): the max
segment size was specified in blocks as well.
* Removed the "hardcode" block_io module and header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26973 a95241bf-73f2-0310-859d-f6bbb57e9c96
* By default, it will use a directory generated/cross-ssl where you need to
unzip the optional openssl package into before. If you're on Haiku, you can
use the SSL_DIR environment variable to point it to /boot/home/config
instead.
* Fixed build with USE_SSL defined.
* Renamed USESSL to USE_SSL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26971 a95241bf-73f2-0310-859d-f6bbb57e9c96
ellipsis. This was visible in missing window titles for short names like
"bin".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26960 a95241bf-73f2-0310-859d-f6bbb57e9c96
request is a write request.
* This closes bug #2579, thanks BGA for the investigation!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26958 a95241bf-73f2-0310-859d-f6bbb57e9c96
will need to write lock the window lock, we cannot call it with the read
lock held.
* Added a TODO comment in _ActivateApp() on how we could handle minimized
windows.
* Added a WindowList::Count() method.
* Added a WindowList::ValidateWindow() that you can use to validate a window
pointer in case you had to unlock the list.
* Made FirstWindow()/LastWindow() const.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26957 a95241bf-73f2-0310-859d-f6bbb57e9c96
the application/window lists before using them.
* This means that you can now switch just between the two topmost apps when
pressing Control-Tab. If you press it fast enough, it will fall back to the
old method of iterating through all apps.
* Only define the private BeOS window management API for BeOS itself, for
Haiku, better use the private WindowInfo.h header.
* Changed BeOS's window_info structure to match how Haiku does it (improved
naming, separation between client_window_info and window_info).
* Whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26952 a95241bf-73f2-0310-859d-f6bbb57e9c96
get_window_order() will retrieve the application respectively window order
on the selected workspace.
* Moved private BeOS compatible functions (as used by the Deskbar) into the
private WindowInfo.h header.
* Whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26951 a95241bf-73f2-0310-859d-f6bbb57e9c96
* It will now first iterate through the windows on the current workspace to
choose the topmost window of this team (for this, it would be nice to have
a sorted list over all windows/workspaces).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26950 a95241bf-73f2-0310-859d-f6bbb57e9c96
about. ServerWindow::GetInfo() now fills in that value following this logic
as well as further testing.
* Whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26942 a95241bf-73f2-0310-859d-f6bbb57e9c96
flags, after all).
* This fixes the "Command-Tab" ie. switch to source/header command in Pe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26932 a95241bf-73f2-0310-859d-f6bbb57e9c96
build for others, namely those that also include <Debug.h>
* This fixes the remaining problems of building Pe under Haiku.
* Those files need a giant style cleanup... Fredrik, time to have a look at
our style guide :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26931 a95241bf-73f2-0310-859d-f6bbb57e9c96
non-contiguous areas.
* Added a test that allowed to reproduce #2595.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26917 a95241bf-73f2-0310-859d-f6bbb57e9c96
loop.
* This is probably the cause for file corruptions as well as bug #2595; will
have another look tomorrow.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26905 a95241bf-73f2-0310-859d-f6bbb57e9c96
third range, not the first.
* This finally closes#1853 again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26904 a95241bf-73f2-0310-859d-f6bbb57e9c96
chipset. This should now finally fix bug #1853.
* Instead of reading values directly from the PCI config space, we now just use
the pci_info structure to retrieve them (interrupt, and base address).
* Renamed alloc_mem() to alloc_contiguous() to make clearer what it does.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26886 a95241bf-73f2-0310-859d-f6bbb57e9c96
patch applied, the card didn't work at all anymore.
* Minor 80-column/white space cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26879 a95241bf-73f2-0310-859d-f6bbb57e9c96
with the VMCache lock held, and WriteModified() locks itself.
* Added an assertion that the lock is held when calling that method.
* This fixes a KDL as soon as you would have used O_NOCACHE with a file that
had already some pages read in.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26864 a95241bf-73f2-0310-859d-f6bbb57e9c96
the dirent buffer. This fixes Rene's comment about "ls" entering an endless
loop.
* It also didn't access the buffer passed in correctly if it came from userland.
* It now also fills in as many entries in the buffer as fit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26861 a95241bf-73f2-0310-859d-f6bbb57e9c96
* dir_read() now takes into account that we may have read more than one dir
entry, and calls fix_dirent() for each of them.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26859 a95241bf-73f2-0310-859d-f6bbb57e9c96
* The use of B_{READ|WRITE}_AREA throughout the drivers is surely alarming.
Defining these flags means that *every user* application can access these
buffers read/write, it becomes visible in userspace like any other memory
(just shared among all apps). I would like to ask each driver maintainer
to see if that is really wished here. If you only need one app to be able
to access it, cloning the area would be more appropriate.
* I came across the use of B_ANY_KERNEL_BLOCK_ADDRESS a number of times. This
is almost completely useless for most usages, as it tries to align the
virtual to a multiple of the size of the area. It just makes the allocation
more likely to fail. Please only use where appropriate, and please review
your code.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26858 a95241bf-73f2-0310-859d-f6bbb57e9c96
cut down the buffer size on the last request. This fixes bug #2565.
* cdda_read() did report an incorrect number of bytes read. This fixes bug
#2511, and also that you couldn't copy tracks via "cp".
* cdda_read_stat() did not include the WAV header in its reported size.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26853 a95241bf-73f2-0310-859d-f6bbb57e9c96
fixed. Not sure why the 6 to 10-byte command translation was triggered,
though.
* Minor coding style changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26840 a95241bf-73f2-0310-859d-f6bbb57e9c96