causing the message to be sent with a timeout of "true" (getting converted to 1)
instead of the intended 0 meaning no/infinite timeout. This caused the message
sending to be aborted due to the timeout if it was blocking on a full port for
example. Since the return value is never checked noone noticed.
It's possible that this was the cause of some lost input messages (mouse,
keyboard) when the system was under heavy enough load for either the port heap
to be exhausted (unlikely) or the input_server <-> app_server port to run full
(quite possible).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42271 a95241bf-73f2-0310-859d-f6bbb57e9c96
Localize the mail server and preferences. Get rid of MDRLanguage.h.
The Japanese translation is attached to #7689. Please give a notice when it is in the translation system and the ticket can be closed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42268 a95241bf-73f2-0310-859d-f6bbb57e9c96
Localize the mail kit.
The Japanese translation is attached to #7689. Please give a notice when it is in the translation system and the ticket can be closed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42267 a95241bf-73f2-0310-859d-f6bbb57e9c96
Localize the mail add-ons.
The Japanese translation is attached to #7689. Please give a notice when it is in the translation system and the ticket can be closed.
Does the B_UTF8_ELLIPSIS comes into the B_TRANSLATE macro?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42265 a95241bf-73f2-0310-859d-f6bbb57e9c96
default_mail{_in|_out}_directory() methods in the BPrivate namespace.
* Used these methods in the inbound/outbound protocols.
* Moved WriteMessageFile() into the BPrivate namespace as well, and put its
prototype into a new header MailPrivate.h along with the new directory
getters.
* Removed the automatic copy to the sent directory again, and only have one
directory for incoming mail. Incidentally, this fixed#7509, although the
underlying filter restriction remains.
* Automatic whitespace cleanups, some style cleanups. Sorry for the mess.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42260 a95241bf-73f2-0310-859d-f6bbb57e9c96
do things like preserve renderer settings and some other details.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42254 a95241bf-73f2-0310-859d-f6bbb57e9c96
be counted (for example already if a directory didn't have its X bit set).
* Instead of doing weird heuristics assuming the size on disk, use the actual
value the file system reports. This might have side effects on file systems
that don't report those correctly, which can then be fixed :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42252 a95241bf-73f2-0310-859d-f6bbb57e9c96
* GCC 4.5 complains about switchs with cases not part of the directory_which enum
* Merge FSUtils directory_which values into the enum
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42251 a95241bf-73f2-0310-859d-f6bbb57e9c96
* GCC 4.5 complains about switchs with cases not part of the window_look enum (see WindowPrivate.h).
* To keep them private, cast the enum to int before use in switchs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42250 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Add support for keyboard navigation to the memory view.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42246 a95241bf-73f2-0310-859d-f6bbb57e9c96
more common language, but also consistent with the rest of the preferences
app.
* Fixed broken "get SMTP add-on" method.
* Renamed OK button to "Next", and "Finish" on the last page.
* Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42245 a95241bf-73f2-0310-859d-f6bbb57e9c96
restarting. So it makes sense to use the label Restart for the button instead
of Quit.
Fixes#7090.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42239 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Simplify handling a bit. Instead of more or less duplicating some of the
move logic from PoseView, simply construct an appropriate target model and
let PoseView's HandleDropCommon() take care of understanding what to do with
the drag message. This has the side effect that things like dropping a text
clipping message onto a target in an x-ray menu actually works as expected
now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42235 a95241bf-73f2-0310-859d-f6bbb57e9c96
done fast enough the click count can reach 7 pretty easily.
Fixes#7591.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42233 a95241bf-73f2-0310-859d-f6bbb57e9c96
in some cases PoseView would call back into PoseCreatedOrMoved(), leading
to an infinite recursion.
Fixes#7696.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42229 a95241bf-73f2-0310-859d-f6bbb57e9c96
leading the drag message to contain nothing more than an empty B_MOUSE_IDLE
message. This broke several other cases of drag and drop which relied on it
containing the dragged refs. Fixes#7705.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42221 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Check the left side of a Constraint for Summands with same Variables and merge them. This fix some issues in the quadratic solver.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42219 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fix a calculation error with respect to the last line of the block.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42216 a95241bf-73f2-0310-859d-f6bbb57e9c96
APIC enumeration. As the local APIC is the basis for inter-CPU communication, we
can't do SMP when it's absent.
Fixes#7692, but indeed it makes no real sense for QEMU to provide the APIC info
in the MP and ACPI tables (and actually emulate the hardware) when it disables
the APIC support flag at the same time.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42215 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Clean up various drawing issues in the memory view's rendering code that were
causing scrolling artifacts.
* Fix stupid mistake whereby the data being visualized was in fact from the
Debugger's address space, and not the target team's. This would likely also
have caused some crashes.
* Highlight the data pointed to by the current target address.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42212 a95241bf-73f2-0310-859d-f6bbb57e9c96
Would explain why hat shown by StickIt was always static neutral...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42208 a95241bf-73f2-0310-859d-f6bbb57e9c96
choice of hexadecimal and/or character displays of the memory data, with
different digit grouping sizes. Still needs some work but is basically
functional.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42204 a95241bf-73f2-0310-859d-f6bbb57e9c96
a whole second until the message runner kicks in.
* This should further reduce the time the mouse pointer sits uselessly on the
screen.
* This is not a fix of #917, but makes it hopefully less annoying.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42199 a95241bf-73f2-0310-859d-f6bbb57e9c96
directly reduces the time the mouse cursor is visible but cannot be moved
yet. Based on a patch by Adek336 as part of ticket #917.
* Decreased the republishing snooze about a second, too.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42198 a95241bf-73f2-0310-859d-f6bbb57e9c96
Plan to move gRegister into the crt struct at some point.
* Few style fixes
* Added function to probe edid of attached monitors and populate CRT info
* Disable VGA control modifications temporarly while I hammer out some issues.
* Fix radeon card model checks (bitwise & is not |)
* Finally fix? blanking start / end calculations using porch
* Use mask for setting sync polarity
* Add overscan (8 pixels is default?)
* Disable PLLSet/Power for the moment as it seems to muck things up.
* is_mode_supported now validates if a mode line is with the monitors
h/v sync frequencies (how does is_mode_supported know what crt the os wants?)
* PLL Write/Read don't actually use the PLL Write/Read functions (thanks AMD!)
* Added better PLL legacy (r600-r610) support
* Consistantly give no DCCG on legacy cards.
* Tracing!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42191 a95241bf-73f2-0310-859d-f6bbb57e9c96
specified the syscall error code B_WOULD_BLOCK would no longer be mapped to 0.
Fixes#7693.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42188 a95241bf-73f2-0310-859d-f6bbb57e9c96
most headers refer to can be found. Fixes the build under Haiku (ticket #7688).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42187 a95241bf-73f2-0310-859d-f6bbb57e9c96
arguments and environment. Fixes failures to start programs in case the space
available through rounding to full page sizes wasn't sufficient.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42184 a95241bf-73f2-0310-859d-f6bbb57e9c96
exit info with some generic status.
* team_create_thread_start(), common_thread_entry(): Initializes the team's
exit info (if that's the main thread) before calling thread_exit(). Fixes
#7686.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42183 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Only try to cancel the a transfer, if sUseUSBKeyboard is set.
* Set the "_usbPipe" parameter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42181 a95241bf-73f2-0310-859d-f6bbb57e9c96
* libbe_build: Where possible we directly use the actual Haiku headers and
sources, now. In the headers/build headers we just include the respective
Haiku headers as needed. That still allows overrides where necessary. The
intention is to make it easier to keep the build stuff in sync.
* Fixed a few printf() format and signed/unsigned comparison warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42179 a95241bf-73f2-0310-859d-f6bbb57e9c96
HAIKU_TARGET_PLATFORM_HAIKU, so the file can also be compiled for the host
platform.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42178 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Actually start rendering the memory data. Still has some drawing glitches
when scrolling though, will look into those tomorrow. Also doesn't yet
highlight the location which the target address actually points to within
the block.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42167 a95241bf-73f2-0310-859d-f6bbb57e9c96
[u]int32 and [u]int64 to avoid clashes with the int/unsigned int versions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42165 a95241bf-73f2-0310-859d-f6bbb57e9c96
allows the use of stty to configure the serial device and later using other
commands with these settings still in place.
* Store incoming termios settings when they are set, restore the previous
settings on open and apply the control modes to the device side as well.
* Only send the control to the system side tty cookie again. Doing it for both
cookies was only done to configure the termios, which isn't necessary anymore.
* Remove fallbacks to c_{i|o}speed fields and always use c_cflag & CBAUD for the
single speed setting we have.
* Remove some leftover control line state logic that doesn't apply anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42161 a95241bf-73f2-0310-859d-f6bbb57e9c96
how one could actually apply different speeds, make cf{set|get}{i|o}speed() use
the c_cflag field with the CBAUD mask instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42160 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Make index numbering consistant (0-n vs 1-n)
* Add a little more tracing to PLLCalibrate because
we were missing a failure situation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42158 a95241bf-73f2-0310-859d-f6bbb57e9c96
ensure that we don't block on the tty buffer, we chop up the data into blocks
that are written into the tty and then the buffer is flushed to the device
each time. This resolves the issue that a quick open/write/close would not
actually send the data to the device as it would cancel the transfer before
the output thread had a chance to run.
* Use the tty_close_cookie() call. Doing the close before waiting for the input
thread ensures that it is woken up if it blocked on writing into the tty.
* Correct the type of the USB callback status and only try to clear a halt if
the device was actually stalled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42156 a95241bf-73f2-0310-859d-f6bbb57e9c96
available as a module function as well.
* Remove some unneeded resetting from tty_destroy_cookie.
* Move the public module functions to the public API section of the file and
order them by their declaration order in the module info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42154 a95241bf-73f2-0310-859d-f6bbb57e9c96
before assuming we have data. If the I/O port isn't valid (e.g. because there
is no serial port) 0xff seems to be a typical value to read. In that case fail.
Fixes KDL input on machines without serial port -- kgetc() would always think
it read something from the serial port, never trying any other input.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42153 a95241bf-73f2-0310-859d-f6bbb57e9c96
to op which would've caused a wrong line state to be set.
* Add some more allocation checks.
* Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42151 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Add crtid to register struct
* Disable VGA mode on FrameBuffer set (enables extended mode setting)
* Disable blanking calculations and setting more gracefully via if 0
* Add a *large* amount of code to Set/Calculate/Calibrate PLL
* Disable PLL on removal of accel.
* Remove junk comments on overscan
* Enable pixel clock limit pulling
* write32AtMask style cleanup
* Rename ReadMC to be more consistant
(I need to adjust naming for these MMIO calls)
* Implement read/write MC. (so many hardcoded oneoffs AMD)
* Implement write32PLLAtMask MMIO call
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42146 a95241bf-73f2-0310-859d-f6bbb57e9c96
into it again (adding generic CBI support). It is so much of a copy even that it
still claimed to have the original 3 support descriptors while in fact it only
has one. Since the memory beyond that one support descriptor was probably just
zeros, making them complete wildcards usb_support_descriptor wise, this lead to
every single USB device being handed to the usb_floppy device added hook.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42145 a95241bf-73f2-0310-859d-f6bbb57e9c96
allowing one to bring up the inspector. This gets us as far as successfully
retrieving memory data from the target team and passing it on to any listeners.
Right now there's not much to see though, as the memory view to visualize the
data is not yet implemented.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42143 a95241bf-73f2-0310-859d-f6bbb57e9c96
partition_module_info::uninitialize().
* Implemented the hook for BFS.
* Implemented KFileSystem::Uninitialize().
Fixes failure to initialize a BFS initialized device with an intel partition
map.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42142 a95241bf-73f2-0310-859d-f6bbb57e9c96
destroy the partitioning system's on-disk structure.
* Adjusted the existing partitioning system implementations accordingly.
Actually implemented the hook for the intel partitioning system.
* Added Uninitialize() method to KDiskSystem and KPartitioningSystem. The latter
implements the method calling the new module hook.
* _user_uninitialize_partition(): Also let the disk system uninitialize the
on-disk structure.
This fixes the failure to initialize a disk device with BFS, when it contains a
valid partition map with at least one partition.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42140 a95241bf-73f2-0310-859d-f6bbb57e9c96
disk system, if the partition already has a disk system set. This can happen
when the disk system's initialization function is lazy and just lets the DDM
rescan the partition. In bad cases the previous disk system has a higher
priority than the new one and, if its on-disk structures have not been
destroyed, it will win the rescan. Not setting the disk system in such cases at
least leaves the partition object in a consistent state.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42139 a95241bf-73f2-0310-859d-f6bbb57e9c96
would never get a chance be visible again.
When instanciated from an archive, a BDragger restores its
BView::fShowLevel and thus can already be hidden if archived while hidden.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42137 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Don't fall back to the disk device, if no partition was selected. No idea why
that was done. It led to operations (like initialize) being enabled that
would fail, if invoked.
* Don't check CanInitialize() on the selected partition with its current disk
system to determine whether to enable the initialization menu. No idea why
that was done either. It led to the menu being disabled, when there was no
reason for it.
* Also disable the initialization menu when no partition is selected.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42135 a95241bf-73f2-0310-859d-f6bbb57e9c96
its size.
* Added "Display current boot loader log" item to the "Debug Options" boot
loader menu. It displays what the boot loader has logged so far. Might be
interesting for early boot issues when serial debugging is not possible.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42134 a95241bf-73f2-0310-859d-f6bbb57e9c96
* If we detect ACPI 2.0 or higher, the spec says we should use the XSDT rather
than the RSDT. Attempt to do so, falling back to the RSDT if the former fails
to be mapped/validated.
* Refactored acpi_find_table into a templated version to account for the fact
that the XSDT exports different pointer widths for its links to other tables
than the RSDT.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42133 a95241bf-73f2-0310-859d-f6bbb57e9c96
* RetrieveMemoryBlockJob: Make use of get_memory_properties() to retrieve the
block's protection bits and mark it appropriately.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42132 a95241bf-73f2-0310-859d-f6bbb57e9c96
it reads from the specified port and writes what gets input on stdin. It
currently hardcodes the basic setup of the serial port.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42131 a95241bf-73f2-0310-859d-f6bbb57e9c96
address protection bits as well as the wiring flags for an arbitrary address
in a team's address space. Will be used in the debugger for the purposes
of the memory inspector/editor, in order to determine whether it can in fact
allow editing for the currently inspected address range.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42129 a95241bf-73f2-0310-859d-f6bbb57e9c96
which don't wait for a character, but return -1 when no character is
available ATM. Implemented correctly for x86 only.
* Changed the semantics of the debugger_module_info::debugger_getchar() hook.
It is supposed to return immediately now.
* Adjusted usb_keyboard accordingly. Hacked UHCI's debug_process_transfer() to
achieve that. It does now start, check, or cancel a transfer. Split
UHCI::ProcessDebugTransfer() into StartDebugTransfer(), and
CheckDebugTransfer() accordingly, and also added a CancelDebugTransfer().
The latter seems to have issues. Michael, please have a look. I have no clue
what I'm doing. :-)
* Adjusted kgetc() to poll all possible inputs using the new
functions/semantics. This allows to use any input (USB, PS/2, serial) in KDL.
* Removed the no longer needed "serial_input" command.
* read_line(): Also support 0x7f as backspace code. That's what xterm sends.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42126 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Would be nice to only show this when an extra argument had been passed to
checkfs, but I'm afraid the API is somewhat limited, not to say pretty much
unusable for the task.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42125 a95241bf-73f2-0310-859d-f6bbb57e9c96
trunk. The interesting part of r42122 was already fixed in the trunk, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42124 a95241bf-73f2-0310-859d-f6bbb57e9c96
actually misleading, since it specifies the length of the xsdt rather than the rsdt. Furthermore, it is only available if the BIOS reports ACPI version 2.0 or greater. Since we don't currently support the XSDT, we can't rely on that field and have to resort to the previous approach of mapping the RSDT header in order to determine the length of the RSDT itself.
Also add validation of the RSDT's checksum so we don't get tripped up by BIOS's with broken tables.
Should fix boot problems that were introduced by r42105.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42118 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Reorganized the kernel locking related to threads and teams.
* We now discriminate correctly between process and thread signals. Signal
handlers have been moved to teams. Fixes#5679.
* Implemented real-time signal support, including signal queuing, SA_SIGINFO
support, sigqueue(), sigwaitinfo(), sigtimedwait(), waitid(), and the addition
of the real-time signal range. Closes#1935 and #2695.
* Gave SIGBUS a separate signal number. Fixes#6704.
* Implemented <time.h> clock and timer support, and fixed/completed alarm() and
[set]itimer(). Closes#5682.
* Implemented support for thread cancellation. Closes#5686.
* Moved send_signal() from <signal.h> to <OS.h>. Fixes#7554.
* Lots over smaller more or less related changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42116 a95241bf-73f2-0310-859d-f6bbb57e9c96
the current time zone must be done after layouting has been done, else
the view doesn't have a valid size to work with yet. Resolves#7681.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42106 a95241bf-73f2-0310-859d-f6bbb57e9c96
so map the whole table without freeing and remapping later
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42105 a95241bf-73f2-0310-859d-f6bbb57e9c96
problems on various systems. Resolves#3441. Thanks!
+alpha3
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42104 a95241bf-73f2-0310-859d-f6bbb57e9c96
The server name is checked while typing and if it is not valid the text is made
red. Invalid entries cannot be added to the list.
Also made the server add message be the invoking message so that the enter key
works to add a server.
After adding a valid server the text is cleared.
Valid servers names are alpha-numeric with periods, dashes and underscores.
Could need some things added but that should cover 99% of the cases.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42097 a95241bf-73f2-0310-859d-f6bbb57e9c96
TeamMemoryBlockManager to avert a race condition where an entry
could be acquired while another thread was about to delete it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42093 a95241bf-73f2-0310-859d-f6bbb57e9c96
exceptions (page faults and the like). The handler dumps possibly interesting
information (registers, a (numerical) stack trace) to the serial output, and,
if possible, also to the screen. That should help debugging boot loader
crashes.
* For the IDT the boot loader sets up for the kernel the descriptors are set up
the same way, so until the kernel initializes the IDT itself (arch_init()) the
facility is still in place and can thus catch very early kernel boot crashes.
Unfortunately the on-screen output doesn't seem to work anymore at that point,
so the output only goes to the serial port...
* ... and to the debug syslog -- dprintf() does now append it there after
debug_cleanup() has been called. Seems to work fine in qemu, but when I tested
it on real hardware the debug syslog was gone.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42092 a95241bf-73f2-0310-859d-f6bbb57e9c96
AcquireReference() now does, and adjust all callers that relied on the previous
return type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42091 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Introduce TeamMemoryBlockOwner to act as an interface for blocks to
remove themselves from the manager when they expire. Consequently remove
TeamMemoryBlock's direct reference to the block manager.
- Simplify GetBlock() to remove unnecessary recursion.
- Store dead blocks in a doubly linked list instead of another hash table.
- Minor style fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42090 a95241bf-73f2-0310-859d-f6bbb57e9c96
only halfway finished. The way it is supposed to work is that there are two
tty cookies, representing the system and the device side. Reads and writes
coming from the system and going to the device are using the system cookie
while reads and writes coming from the device use the device cookie.
* Move writing to the device into an output thread, similar to how reading from
the device works. This isn't necessarily a good idea and might be moved back
into the write hook again to ensure that writes can be made blocking. Right
now if you just write and then close, the writes will most likely be canceled
before every going out to the device.
* Removed the read and write lock mutex. They aren't necessary as the tty layer
will serialize the reads and writes anyway.
* Made simply copying the data to the write buffer the default implementation of
the OnWrite callback and removed the OnWrite in ACMDevice. The ProlificDevice
didn't provide an OnWrite hook before, so it would've never written anything.
* Break out the baud index to speed mapping into an inline function. Since the
defines might change in termios.h just adding an array is a bit fragile (it
already missed one entry and would've been broken for certain speeds).
This should make usb_serial usable for some (most?) cases. I've tested this with
an Arduino board that uses an FTDI interface. As mentioned above, since writes
currently just write into the tty layer and don't wait for the data to be
flushed, and since close doesn't wait for the output buffers to be drained
either, a simple write and close (as in "echo a > /dev/ports/usb0") will in most
cases cancel the output before it is written to the device. I'm looking into
a few ways to fix that next.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42089 a95241bf-73f2-0310-859d-f6bbb57e9c96
header is used that only has 6 bits of length info this would've previously
potentially overflowed depending on the input size.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42088 a95241bf-73f2-0310-859d-f6bbb57e9c96
is inside the cflags) since stty for example sets them.
* Turn off debug output by default and fix a warning due to that.
* Some minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42087 a95241bf-73f2-0310-859d-f6bbb57e9c96
page data of the target team.
* Jobs: Add RetrieveMemoryBlockJob which performs a background read of the
target team's memory. Used by InspectRequested() to perform the actual work.
* TeamDebugger: Added InspectRequested() hooks to allow clients to ask for
a memory read to be performed.
* Introduce InspectorWindow and MemoryView to form the basis of a memory inspector.
As yet these are more or less stubs and not yet hooked in.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42080 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Also add equivalent methods to the layout builders in LayoutBuilder.h
* BSplitView now calls BControlLook::ComposeSpacing(), instead of BSplitLayout
* part of #7447
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42077 a95241bf-73f2-0310-859d-f6bbb57e9c96
is deleted/recreated in between retrieval and lock. Report failure if so.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42073 a95241bf-73f2-0310-859d-f6bbb57e9c96
regression), since the tables are bigger than that.
Accessing unmapped memory was doing bad things on
XenServer.
Fixes ticket #7497.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42068 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Begin using multi-architecture friendly formatting macros per ML
* Change uint32 snoozeTime to preferred bigtime_t per ML
* Thanks for the great feedback!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42062 a95241bf-73f2-0310-859d-f6bbb57e9c96
* add additional tracing to usb_disk lun inquiry
* cd and other optical disk devices can take some time to spin up
when plugged. Now we give them some time to do so to ensure we
can detect the media type properly if there is a cd in the drive.
Things non-mechanical (flash drives) will continue almost immediately
as there is no spin up time. The more attempts, the longer the wait.
We now try 7 times (28 seconds total), my modern usb cdrom takes
about 6 (21 seconds) of those cycles to be ready on power up and 4
(10 seconds) on media change while powered up.
* tested with usb media and cd media. Doesn't introduce any visible
delay to the user.
* the write protected status in lun is now correct for my usb cd device
on plug (it wasn't previously)
* still seeing it though as read/write. Looking at this now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42058 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Made MessageIO comply to our coding style.
* No other functional change (intended).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42055 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Rename BControlLook::ComposeItemSpacing() to ComposeSpacing(), and extend it to handle the new constants.
* Adjust users of BControlLook::ComposeItemSpacing() accordingly.
* part of #7447
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42025 a95241bf-73f2-0310-859d-f6bbb57e9c96
height if needed. This should prevent any text from being cut off (though to be
fair it is possible to resize the window horizontally to see any cut off text.)
Fixes#5882.
+alpha3
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42022 a95241bf-73f2-0310-859d-f6bbb57e9c96
always calling the device and requesting it. If no HID descriptor is found in
the configuration we fall back to retrieving it manually and if that fails we
fall back to a dummy report descriptor length. In the most usual case this will
save one unnecessary USB control request.
Incidentally this also fixes the absolute pointing device under VirtualBox. VBox
stalled the retrieval of the HID descriptor. That alone wasn't so problematic as
in this case we just fell back to the dummy report descriptor length which
would've been large enough. But VBox also times out the next request after the
stall, which in this case was the retrieval of the report descriptor, hence no
HIDDevice could be created.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42019 a95241bf-73f2-0310-859d-f6bbb57e9c96
menus since it is no longer needed after r40132/r40142. Thanks diver for the
reminder.
#5809 can finally be closed again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42017 a95241bf-73f2-0310-859d-f6bbb57e9c96
semantics, I'd recommend introducing an _IsDataPending() with sane semantics
and use that.
* IsDataPending() Added TODO regarding possible overflow.
* SetTimeout(): Added TODO regarding consistency.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42009 a95241bf-73f2-0310-859d-f6bbb57e9c96
keyboard navigation/tracking of BMenus and BMenuBars, although
many issues remain.
Should not yet go into alpha, since there is one issue which
I am not sure if it's not a regression. The issue is that
invoking a menu item with Enter for the first time seems to
have no effect, while invoking it subsequently works as
expected. I don't know, yet, if that's a regression of this patch.
In any case, it's better than before, thanks, Pete!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42004 a95241bf-73f2-0310-859d-f6bbb57e9c96
* As they don't claim to be HID, they don't provide a report descriptor either,
so we build one. The built descriptor is similar to the one found in FreeBSD
for the same class of devices. Might fix/help #7649, for lack of hardware I
can't test this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42003 a95241bf-73f2-0310-859d-f6bbb57e9c96
usb_hid_device_added hook so that we can actually detect non-HID devices at all.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42002 a95241bf-73f2-0310-859d-f6bbb57e9c96
allow for creating descriptors that don't use report IDs at all.
* Adjust sixaxis_build_descriptor and set the global report ID once at the
beginning instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42001 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Add these to the usb_support_descriptor when adding from the quirky devices.
* Extend the SIXAXIS comment a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42000 a95241bf-73f2-0310-859d-f6bbb57e9c96
descriptor. This allows us to support devices that aren't strictly HID or only
provide vendor specific interfaces by constructing report descriptors for their
data format.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41992 a95241bf-73f2-0310-859d-f6bbb57e9c96
the date actually changed at midnight or if the date was changed in the Time
preferences and probably other cases.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41959 a95241bf-73f2-0310-859d-f6bbb57e9c96
what this setting represents. Also added a fairly long explanatory tool tip.
Sorry translators! ;)
Fixes#5264.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41957 a95241bf-73f2-0310-859d-f6bbb57e9c96