The rule to add an executable or shared library to the Haiku image
automatically also includes the corresponding locale catalogs and MIME
database entries.
The locale catalogs for .a files linked in the executable are also
included, since .a files are not themselves added to the same package.
This makes sure the executable has all the catalogs it needs.
The jam rule was written assuming that NEEDLIBS would only contain .a
files, but that is not the case when compiling Haiku. Libroot for
example is also in NEEDLIBS (this makes sure it is linked by absolute
file path, whereas LINKLIBS would instead use -lroot and may link the
host system one).
Rewrite the rule to include catalogs from the selected target and only
its .a dependencies.
Fixes#19721.
Change-Id: I0315476030d2e6e4dea574bb5f254ce9b442f556
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10563
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Mozilla Location Service was killed by Mozilla.
This is a (mostly) compatible replacement that does not need a secret key.
The differences are:
- No API key: instead Beacon DB asks users to identify themselves by
user agent
- The content type for the request has to be set to application/json
Change-Id: I4fd95ff66f1d77c2380e393800c0a09a7f4f0cf5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10329
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Previous change accidentally switched to showing used blocks instead,
which is less useful.
Also fix an alignment issue in the header.
Change-Id: I5878c2336009c351a5f305ab510d42354d6db18d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10229
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
As discussed in #15102, atime behavior may be POSIX compliant by a
technicality, but it's not the expected behavior. In any case,
compliance requires documenting the functions that update atime.
Change-Id: I266b4d8d8a4a5d0f28f7c352d8942b417c2e31e4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10219
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
POSIX shell now supports $((expression)) for arithmetic expression
evaluation. This removes the need for an external command, which may not
be available on the build host.
Change-Id: Ibd1342c723c2320d77c4de5b1620be32086daa56
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9238
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Tracker creates a drag bitmap containing the selection being dragged.
There is a size limit if the selection is too large to avoid moving a
huge bitmap around.
There were two problems with the way this was done:
- The smaller rectangle was always centered on the cursor, even if that
was near the edge of the selection being dragged. In that situation,
most of the drag bitmap would end up being empty. Instead, move the
rectangle to align it with the edges of the selection if it goes
outside them. This makes sure we always use as much of the drag
rectangle as possible for useful data.
- Moreover, there was a regression on the rendering of the
"fade" at the edge of the rectangle. This is a transparency gradient
that should be at the edge only, to indicate that the drag bitmap has
been truncated, and that more (invisible) things are also being
dragged. In hrev58665, this transparency gradient was changed to cover
the entire width and height of the dragged bitmap, instead of just the
edge. This lead to most of the text being almost invisible in a lot of
cases. Change the code to use a gradient only near edges again.
Fixes#19429.
Change-Id: I395fda191dc61732e4bdc5287a09882cdc2b5f55
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10177
Reviewed-by: John Scipione <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
TFilePanel inherits from Tracker's ContainerWindow, which calls Run() in
its constructor.
This results in the constructor of the subclasses being run while the
window message loop is already running and processing messages.
Specifically, views are getting resized and moved both by the
constructor (in RestoreState) and by the resizing code (_ResizeBy
recursively relayouting all children).
This results in the cancel button being left at the wrong place at the
end of the constructor (or shortly thereafter). While that on its own
has no consequences because the layout is fixed when the window is
finally shown, the position of the cancel button just after the
constructor is relied on by applications which add custom widgets to the
window (Wonderbrush, Icon-O-Matic, Pe for example).
Make sure to keep the window locked while setting it up, so the message
loop does not interfere.
Fixes#19499.
Change-Id: I83f8fcfc56434e979b20043d8d652074f2f3cf5d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10176
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
- Check superblock magic. Overwriting the first sectors of partitions
using other filesystems than BFS is likely to cause trouble.
- Check presence of bootcode in the same version, as well as the correct
partition offset.
- Tell the user when the partition was already bootable and nothing was
done, hopefully this will finally stop people from thinking that
makebootable is of any use (it isn't, Installer already does the
work).
Change-Id: I792fb29166773e224266d35a4976ac90662e5cb6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10174
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Same thing is done in Installer to avoid confusion in case workspace
switching shortcuts are used accidentally.
Fixes#19278
Change-Id: I20af1a235f47f012a120c6a94511bfe94a2cdfbd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10145
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Timestamps in BFS are stored with a 16 bit subsecond precision. However,
a lot of files have this field set to 0 as they are created with APIs
that do not set a subsecond precsion value.
The previous format (introduced in hrev31057) did not track wether the
stored data was a 12 bit sequential number or a 12 bit subsecond
timestamp + 4 bit sequential number.
As a result, setting a timestamp with nsec=0 would read back a different
value (exposing the sequential counter to userspace).
Older versions of Haiku, and BeOS according to the Practical Filesystem
Design book, did not store a timestamp there. Haiku used to store the
volume UID (I don't understand why), and BeOS stored a sequence number
because the POSIX APIs at the time didn't allow to get and set the time
with nanosecond precision.
The Practical Filesystem Design already mentions that storing a
subsecond precision value here would have been better than their
workaround.
The new format relies on the fact that nanoseconds can only be in the
range from 0 to 999999999. After the conversion to a 16 bit value using
simple shifts, this result in a maximum possible value of 0xEE60. The
new format exploits that, and uses the range 0xF000 to 0xFFFF to
represent 0 timestamps with a 12 bit sequence number.
This allows the sequence number to be hidden from userspace entirely.
Fixes#19213.
Change-Id: Id80289a4331ecfbf2f1a35520b58a99227d1f1d6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10146
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
- Check superblock magic. Overwriting the first sector of partitions
using other filesystems is likely to cause trouble
- Tell the user when the partition was already bootable and nothing was
done, hopefully this will finally stop people from thinking that
makebootable is of any use (it isn't, Installer already does the
work).
Change-Id: I9352f1a3853626d093c04f8283771189395d023b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10171
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
The rule to add an executable or shared library to the Haiku image
automatically also includes the corresponding locale catalogs and MIME
database entries.
The locale catalogs for .a files linked in the executable are also
included, since .a files are not themselves added to the same package.
This makes sure the executable has all the catalogs it needs.
The jam rule was written assuming that NEEDLIBS would only contain .a
files, but that is not the case when compiling Haiku. Libroot for
example is also in NEEDLIBS (this makes sure it is linked by absolute
file path, whereas LINKLIBS would instead use -lroot and may link the
host system one).
Filter out .so files from the NEEDLIBS list when determining which
catalogs to include.
Fixes#19721.
Change-Id: I04604bd37c656f987dd17be8db6edffe88cee651
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10144
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Use the existing practice from other operatign systems (at least
some places in Windows XP do this): fill the checkbox with a square
to indiate that it is partially activated.
There is already a color difference, but that is not visible when the
checkbox is also disabled, and maybe a bit too subtle in general.
Change-Id: Icd4403374bd1cec3efeb3146e64b352caabc6d82
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10051
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
The arch_start code is quite similar for all efi architectures and may
be unified someday. Try to keep it as similar as possible by
synchronizing at least style fixes (variables renaming, line breaks,
format macro fixes).
No functional changes intended.
Change-Id: Ie4d54e73020e05a2af6755b7f5a65b92b4953080
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10106
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
The uart virtual address changes as soon as we apply the kernel memory
map. gUART is used only after that, from serial_init() onwards. So it
should use the virtual address, and not the physical address it was
previously created with while parsing the FDT.
Change-Id: I8c8a024fe564b49d6555f8e48f5ab31652d30708
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10068
Reviewed-by: Fredrik Holmqvist <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Prepare for replacement of modified version used in input_server addons.
Adapt existing callers.
The "this" argument is required, and the CALLED macro can only set it to
one single value for an entire file currently. So, in any case where at
least one standalone function or static method uses CALLED, the macro
has to use a NULL pointer for all calls.
Change-Id: I42fdcbeaf6dd039d4c4369818220ad85e0b8087e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10041
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
- Update texinfo to 7.2
- Update bash to 5.3
- Update ICU to 70.1
These versions are patched in haikuports.cross and allow cross compiling
from Debian sid with a modern GCC. Confirmed that both architectures can
build a filesystem, kernel and bootloader.
Get the name from the _STR method of the ACPI object.
Convert from UTF16 as needed.
In cases where the ACPI implementation provides multiple zones, this
allows to differenciate them.
Change-Id: If349207dcfd22cc9c3baf50b8f8d63d56dc62f21
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9739
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
_DrawHands modifies the high color when drawing the shadow. This
resulted in the middle dot being drawn with the shadow color.
Fixes#19633
Change-Id: I32886c56dfb22d4a83fca9164c326ddbc3fcf0de
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9601
Reviewed-by: Adrien Destugues <[email protected]>
This allows the controller to set up its own timing registers with
default values automatically. It is especially useful when working with
multiple MMC devices, as the controller can switch to the right speed
automatically for each transaction.
Change-Id: I356f5fd289ce55d72ad1cbb5cd27f019ea6f767b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9697
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
This allows to do things in the order specified in the specification,
and keeps the calling code simpler.
Change-Id: I3c81b9501712db4b1cff09a7b146cd2436c74be3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9695
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
The default value can be too small, in which case data transfers always
fail with a timeout. Since we previously didn't enable the data timeout
interrupt, this would lock things up completely.
May fix#17031, #17604, #19081.
Change-Id: I422ac599515d1199cdf69daac6ceae649e116de4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9694
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Without this, the general error bit in the normal interrupt register
never gets set, and the corresponding interrupt never happens.
Change-Id: Ic950e55ab04ba7409a4f10bbab8f7a3ce9f08a49
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5057
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
- Return tags for methods that don't return anything
- ingroup without matching defgroup
- confusion between ref, a, and link tags (they are not the same)
- missed API changes (BObjectList templated owning, new url
encode/decode API)
- duplicate defgroup definitions
Change-Id: I94a31b04a10a62e71659522c5ed77098728c0843
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9689
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
This makes the code safer and easier to read.
Things work up to the first sector read, that tries to use a DMA
transfer. The "transfer complete" interrupt for it never happens.
I assume I am not setting up the SDMA correctly, but I have not found
what I'm missing yet. The old code accidentally gets past the first
transfers while it's not actually complete, and fails in the same way
as the new code during the second one.
Change-Id: I7c82aa0da4aea91b6c60165a50d656115270a3c4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9682
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
CLucene and Taglib have not been updated since the switch to package
management. The old rules do not wrk since they relied on the
haiku-files.org domain. The libraries can be reintroduced as build
packages if we ever decide to resume the project that needed them
(general file content indexing).
Change-Id: Id7e3fb7c5b9070addaaa9763053d7d006f2b3484
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9690
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
The notify loop normally checks all pending condition variable entries
and notifies either all of them, or only the first one.
In the case where the first one is being removed from the condition
variable just as the notification happens, it is skipped, however, in
the case of NotifyOne, that should lead to attempting to notify the next
one.
It looks like an oversight in 6d3065508f,
where the notified threads counter was changed in a similar way, but
these two lines of code were not.
The problem seems pretty unlikely, as it would need:
- Multiple threads waiting on the same condition variable,
- The first one being removed just as the variable is notified
Change-Id: I0492c56b15b6b2871954e9114df046ec94539971
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9677
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
- On read errors, make sure to reset the read buffer pointer and not
return any more packets from the incorrectly read buffer
- Fix a case where an error didn't stop the processing, and we would
return a zero-byte packet to the network stack instead of an error
- Make sure to use different log messages for different error cases
- Use strerror where appropriate
- Add some TRACE calls to be able to fully trace the code.
There seem to be an error at the XHCI level where it has an "USB
Transaction" error (converted to a B_DEVICE_CRC_ERROR Haiku error code).
After that, despite cancelling that transfer and clearing the HALT
feature, it is not possible to receive anything from the receive
endpoint and the connexion is stuck (it appears sending data still
works, at least from the network stack point of view).
Change-Id: I58687a6eb7b19ba7e7ca594c55499b60fb8b5b26
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9658
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
- Update the file with the latest version (from
https://uefi.org/sites/default/files/resources/devids%20%285%29.txt)
- Tweak the Jamfile and awk script a bit to fix conflicts with acpi
device IDs structures, add missing const, allow tabs in the input file
instead of spaces (it is not formatted consistently)
- Match the hid or cid of ACPI devices to show well known names from the
file if available and we have nothing better.
Change-Id: Iea11ca44c8fef245d044a7535e7e7a13230be848
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9632
Reviewed-by: waddlesplash <[email protected]>
Add the following:
- CS and SS registers
- For 32bit: DS, ES, FS, GS registers (on 64 bit these are not part of
the iframe structure)
- CR2 register (fault address)
- Hardware interrupt number
- Hardware error code
The hardware error code, interrupt number and fault address are not
modifiable by the signal handlers. The other registers can be modified.
This is used for example in dosemu to intercept errors from JIT generated
code and resume execution. Wine can also make use of it.
In order to not change the size of struct mcontext, these are inserted
in a region of the FXSAVE structure that is available for the OS to
store some data (as documented by Intel) and that we didn't use before.
Fixes#7867
Change-Id: Ia3c27a2c728e32995196c646c1d78adf40e793ed
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9456
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Just the library name in parentheses doesn't look so great in the book
index (in particular for libroot in the "special topics" list). So include
a short description there.
Change-Id: I99ea8f85b042c5606b078aca906a0717aff6d46f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9452
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
The RTLD_GROUP flag to dlopen comes from Solaris. It makes the symbol
resolution for dlopen not use the global symbols from the current team
(anything that's already loaded). The loaded object must be explicitly
linked against any symbol it needs to use (or it can use dlsym to search
symbols in the global scope explicitly).
This is also how symbol resolution worked in BeOS, meaning we already
have the code to do this, and just need to enable it.
This can be used in dosemu, where DOS-like executable are linked against
their own C library and should not use symbols from libroot.
Fixes#19674.
Change-Id: I8d127c7812a31e231edb1e44edf70b868c2670e7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9450
Reviewed-by: waddlesplash <[email protected]>
The openboot mmu code does not like addresses above 4GB, so load the
kernel to a lower address. It doesn't really matter anyway, because on
sparc the kernel normally lives in a separate address space and uses
special instructions to access userland memory.
See #19597 for details, further changes will be needed here.
Change-Id: Iac6901f275667efef5e64d059daf4c96032a7baf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3573
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
The old BUrl constructor with just a string is now private. The new one
has a default value for the second parameter, but C++ doesn't exclude
the private constructor from the candidate functions search. So, the
default argument for the new constructor needs to be explicitly
specified now.
Change-Id: Idb1915649ea3d2c59e344801a9d4fe201f8040e9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9236
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
- Only patch remaining in Haiku is replacement of a #error with a #warning
in achaiku.h. This change is preserved here.
Change-Id: I34474dc2995864ea67ae4e7257b0f6cc8f6a0d64
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8901
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Add a section about various known problems and be more clear that this
is still unfortunately quite not well tested and experimental.
Change-Id: If8f83682e03f23097edd00a855423febaaff43ce
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9157
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
This is unused but defined in Darwin, BSD, and Linux.
It allows developers to feel good about specifying that they want to map
a file (which is the default behavior anyway). The value is 0, so
specifying this flag does not have any effect.
This allows to more easily compile code that uses the flag.
Change-Id: I7a880a3090d90b7e8cef5144e82f71beb61147a8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9152
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
ElfW(x): to automatically use the relevant Elf32 or Elf64 type for the
current system
NT_GNU_BUILD_ID: constant defining the GNU "build ID" note in ELF files.
WebKit uses both of these to store info in javascript object caches, so
it can detect if the same version of WebKit is being used and the cache
can safely be reused, or if it should be reconstructed.
Change-Id: Ia9eccc1acc79ac4982b87609d2815c4a611e4176
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9143
Reviewed-by: nephele nephele <[email protected]>
This is still used in various places, so we should be clear about how it
is supposed to be done. It should avoid people learning from repeating errors
that others have already made.
Change-Id: I2468e51e62658bfad499c22294dd8a34c8aa8c90
Make it clear that this enum just defines ASCII control characters, and
there is no 'free space'. Also add comment showing which key combination
produces each control character.
Change-Id: I01884132842281cce6c13dd9398b1aeddadae58a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8899
Reviewed-by: nephele nephele <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
The synaptics specification changes the meaning of the system bit when
there is incoming data from the AUX (mouse) port, to indicate that the
incoming byte is an error. This also allows to detect if the active
multiplexing is not enabled correctly or has been reset.
Use this as an additional check so that active multiplexing is disabled
on my laptop, where it doesn't work.
Keeps #19266 fixed while avoiding the long timeout on my machine.
Change-Id: Ia8277e135a149cfa25a2a3022c87c3e05aacb6d5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8632
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Fixes the code I introduced in hrev50114 for custom serial port
baudrates. The idea there was based on FreeBSD implementation, but I
missed a key detail: speed_t in BeOS (and Haiku) is only an 8 bit value.
Note that BeOS does not have c_ispeed and c_ospeed fields, instead they
are named c_ixxxxx and c_oxxxxx with a comment in termios.h saying that
they are not used. So the renaming and moving of these fields isn't a problem.
This means the previous code worked only for speed between 20 and 255
baud, quite the opposite of what I wanted to do, which is to enable
access to fast baudrates.
This new implementation exploits the fact that tcflag_t is 32 bit, but
we never actually use more than 16 bits. Therefore, the high bits of
each value were unused, and can be reclaimed to store the speed,
by changing tcflag_t to 16 bits. The speed is then inserted as two 16
bit values that can be combined as a 32 bit one. The flag bits are not
moved (on little endian systems), and the extra values are guaranteed to
be set to 0 by any previous code that was compiled with 32 bit tcflag_t.
Support for different speeds for input and output is now also possible
(POSIX specifies separate functions for setting the input and output
speeds, which is useful for some old terminals and modems, where it was
useful to have a high baudrate for data to display on the screen, but
things typed on the keyboard aren't quite as fast). If desired, we could
now properly implement this in our serial drivers, but it isn't done
here yet.
Additional changes:
- speed_t is now a 32bit type, allowing to pass large values to
cfset(i,o)speed
- fix some places where a baudrate enum value was incorrectly put in the
c_ispeed and c_ospeed fields, this is not how they were meant to be
used (it meant the default was to use a speed of 0, that means "hangup"
the line, which I think no serial driver really implemented).
- do not put baudrate enumeration values in c_iflag and c_oflag, they
are meant to be used in c_cflag only, and conflict with other bits.
Separate speeds for input and output can be done by setting the
c_cflag value to CBAUD (indicating custom baudrates) and then setting
the values in c_ispeed and c_ospeed.
Fixes#18483
Change-Id: If63a24b5ced5edf6d051d921197db194def0c614
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7068
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
When the transfer is canceled, there is no new data received. So we
should stop the processing and inform the network stack that the
transfer is canceled.
Change-Id: I5c991899292b84e6d9bc589348a5ab32384ea09a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8577
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
The MAC address is randomly generated each time the device is connected.
So there is no way to match with a previous session and reattach the
interface transparently.
Change-Id: I8aea95d5a09621a0dcdd7ce89787663a38435001
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8576
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
- Convert libroot from a page to a group, so that it can list the
included file and functions in the generated book (like the kits)
- Add unistd.dox and move the relevant part of ioctl details there
- Make sure to use C89-compatible comments only in POSIX headers
Change-Id: I8f0412e4c75de6f48018a0436909f8b0076342a4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6369
Reviewed-by: Adrien Destugues <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
The driver had its own header file with definitions from the USB video
specification. Use the system ones already in place for use in listusb.
Also recognize devices which advertise themselves as "miscellaneous" in
the device descriptor, this is the recommended way in the specification
as the usb_video interface may be only part of a device, with other
interfaces and endpoints used for audio or for HID for example.
Change-Id: I7e2e45328dcc1e81c407937e8dd3d77209c5c52a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8581
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
The DPLL selection registers have changed again somewhere between
Skylake and Tiger Lake. Our code was trying to read/write the Skylake
registers on hardware where they don't exist anymore.
Introduce the new Tiger Lake registers and implement enough of it to get
things working on my machine (but probably only on my machine). Also
add a bit of specialization of DisplayPort which I think was not done
correctly on previous hardware either: for DisplayPort, the link rate is
selected from a handful of allowed frequencies, instead of closely
matching the pixel clock.
Things left TODO:
- Write a proper PLL allocation system to ensure each display gets
assigned its own PLL (unless multiple displays use the same timings).
For now it is hardcoded to what I want on my machine.
- Fix the DisplayPort PLL computation to use the values from Intel
datasheets, not the ones used by my machine which are somehow
different.
- Fix the DisplayPort PLL computation to select one of the several
available frequencies, allowing resolutions higher than Full HD which
require higher clocks.
- Fix DisplayPort link training or whatever must happen after the PLL is
set up, since changing the PLL results in a non-working display and we
don't get it back.
Unfortunately this still isn't enough to bring up both displays to life
at the same time. I think it is not very far, but the secondary display
(as decided by the BIOS) remains off for now even after successfully
setting it all up.
Early testing on other machines is welcome.
Change-Id: I37209bb14f32c99944bdc8ef6eef75e2550e18ed
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7367
Reviewed-by: Alexander von Gluck <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
ACPI sometimes print a single message line using several calls to
its printf function. We directly map it to dprintf, which causes two problems:
- In the syslog, each call to dprintf is prefixed with 'KERN:'. So,
several 'KERN:' were added in the middle of such messages.
- The successive calls to dprintf may be intertwined with logs from
other places, making it difficult to see what message came from where.
To avoid these problems, store data in a buffer until we have a complete
line, and only then send it to dprintf. The resulting syslog is much
easier to read then.
Change-Id: I745e50b6fbbc3c875716fb68951d8d47312f96f6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6896
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>