Commit Graph

5363 Commits

Author SHA1 Message Date
Dario Casalinuovo
9f2deec26f AdapterIO: Seeking and flags access improvements
* Backend seeking is done only if explictly requested in
BAdapterIO Seek.
2016-07-03 15:28:06 +02:00
Dario Casalinuovo
3ad928de3f BAdapterIO: Refine size inheritance
* Wait evaluation is done considering both position
and buffer size.
* Set back position to 0 after seeking.
* Simplify EvaluatePosition to take advantage of inheritance.
* Use back position to determine the current size of the buffer.
* Add more debug tracing.
* Other minor fixes.
2016-07-02 21:19:27 +02:00
Alexander von Gluck IV
30d631c821 radeon_hd: Add new Polaris GPU, untested 2016-06-30 15:09:59 -05:00
Dario Casalinuovo
345dba5416 AdapterIO: Further development of the interface
* Implement Open/Close mechanism.
* Implement SetBuffer.
* Implement timeout handling.
* Improve Seek mechanism, this is now working by locking the
thread until the backend call SeekCompleted.
2016-06-30 16:54:40 +02:00
Dario Casalinuovo
4dd09daff7 Streaming: Use const reference in place of copying
* Thanks to Markus for reporting.
2016-06-25 01:13:10 +02:00
Dario Casalinuovo
0ba82236bd Streaming: Remove any pointer BUrl argument
* There's no need to pass BUrl by pointer, this is
potentially dangerous and leaky without any advantage,
copying is definitely safer.
2016-06-24 19:00:38 +02:00
Dario Casalinuovo
6903cf9bda AdapterIO: Increase consistency
* Moved data locking in the internal buffer class, includes handling
of backend writes.
* Takes advantage of inheritance for getting the size. The choice is
made depending on the flags. This allow the implementer to easily
return a custom size by reimplementing GetSize. At the same time
a plain BAdapterIO can still have it's total size set, but the behavior
will change depending it's mutable or not.
* Some decisions are now made by considering everything in absolute
values.
* Other minor fixes.
2016-06-23 00:38:33 +02:00
Dario Casalinuovo
3faf39eb5d BAdapterIO: Add initial seeking support
* This is by default provided using a relative buffer. When the
client request a seek over the range we currently have, we will
ask the backend with a SeekRequested. When the backend operation
ended successfully, the client is required to call SeekCompleted
before to return. This will cause the offset to change and the
buffer is cleaned as result. Next data received will be considered
to be at a position equal to the offset plus the relative position.
2016-06-07 16:12:39 +02:00
Jérôme Duval
2dc495dc53 bluetooth: remove DEBUG definition. 2016-06-05 18:55:44 +02:00
Rene Gollent
fce4895d18 Debugger: Split into core library and application.
- Add subfolder src/kits/debugger which contains the debugger's core
  functionality and lower layers. Correspondingly add headers/private/debugger
  for shared headers to be used by clients such as the Debugger application
  and eventual remote_debug_server. Adjust various files to account for
  differences as a result of the split and moves.
- Add libdebugger.so to minimal Jamfile.
2016-06-04 13:18:39 -04:00
Dario Casalinuovo
b660d95f88 Introduce BAdapterIO
* This class is provided as a safe multithreaded communication channel
between a BMediaIO-like interface and a Read/Write backend.
* Includes internal buffering and can be used to provide multithreaded
edit of the data.
* Current limitations include missing BOutputAdapter and
correct timeout handling.
* Future plans provide a BRemoteAdapterIO that using ports
and areas allow to easily send big data between processes.
2016-05-31 01:15:09 +02:00
Dario Casalinuovo
9217f5c5ed BMediaIO: Add GetFlags method to define properties 2016-05-31 01:15:09 +02:00
Ingo Weinhold
90f571868e kernel: Add elf_read_kernel_image_symbols()
Refactor new function out of _user_read_kernel_image_symbols(). Can be
used to get a kernel image's symbols from within the kernel as well.
2016-05-22 22:10:47 +02:00
Dario Casalinuovo
2583517316 MediaIO: Fix header typo 2016-05-16 19:57:07 +02:00
Rene Gollent
b8a716965a BSocketMessenger: Further improvements.
- Messages that expect a reply are now tagged with a unique ID field to
  indicate that expectation to the receiving socket messenger.
- The messenger now maintains a map of received reply IDs and their
  corresponding messages, along with a message queue of other unsolicited
  replies.
- After successfully connecting, the messenger now spawns a thread
  whose sole responsibility is receiving and parsing all incoming messages,
  and consequently sorting them into the aforementioned data structures based
  on the presence of the reply ID. Callers who are awaiting either replies or
  other messages are signalled appropriately via a semaphore. This allows
  multiplexing of both types of messages on the same socket.
2016-05-14 21:31:24 -04:00
Alexander von Gluck IV
8fe5054828 intel_extreme: Extend DDI port probing to A-E
* The Linux code made this a bit hard to figure out via
  complex define functions, however there can be up to
  5 DDI ports (A-E)
2016-05-08 15:40:57 -05:00
Augustin Cavalier
5559d51db7 bluetooth_server: Nuke the weird logging system, just use macros...
... just like everything else on Haiku does. Permanently enabled for the
time being. At least I can tell what's going on now.
2016-05-07 21:10:34 -04:00
Rene Gollent
493cced1ef libbnetapi: Add socket messenger class.
- Introduces new network API class BSocketMessenger, allowing one to send
  and receive BMessages across a network socket in a BMessenger-like
  fashion. Still very much WIP, hence currently not exposed via public headers.
  Based partly on previous work by Axel.
2016-04-30 18:32:50 -04:00
Ingo Weinhold
9266cd66c7 extended_image_info: Add text_delta field
Needed to offset a symbol address read from the symbol table to the
actual load address.
2016-04-29 22:32:14 +02:00
John Scipione
4c25397c41 AppMisc: correct param name in docs, silences warning 2016-04-27 11:10:33 -07:00
Ingo Weinhold
8c6cb8af01 runtime loader: Register extended image info with kernel
Add structure extended_image_info which extends image_info by the
fields symbol_table, symbol_hash, string_table.
2016-04-27 02:16:09 +02:00
Ingo Weinhold
467fe4ca0c kernel: Add core dump facility
* Add function core_dump_write_core_file(). It writes a core file for
  the current thread's team. The file format is similar to that of
  other OSs (i.e. ELF with PT_LOAD segments and a PT_NOTE segment), but
  most of the notes are Haiku specific (infos for team, areas, images,
  threads). More data will probably need to be added.
* Add team flag TEAM_FLAG_DUMP_CORE, thread flag
  THREAD_FLAGS_TRAP_FOR_CORE_DUMP, and Team property coreDumpCondition,
  a condition variable available while a core dump is progress. A
  thread that finds its flag THREAD_FLAGS_TRAP_FOR_CORE_DUMP set before
  exiting the kernel to userland calls core_dump_trap_thread(), which
  blocks on the condition variable until the core dump has finished. We
  need the team's threads to stop so we can get their CPU state (and
  have a generally unchanging team state while writing the core file).
* Add user debugger message B_DEBUG_WRITE_CORE_FILE. It causes
  core_dump_write_core_file() to be called for the team.
* Dumping core as an immediate effect of a terminal signal has not been
  implemented yet, but that should be fairly straight forward.
2016-04-24 18:22:14 +02:00
Ingo Weinhold
ac1f1a926e kernel: +image_iterate_through_team_images()
Like image_iterate_through_images(), but iterates though the images of
the given team only.
2016-04-24 17:30:52 +02:00
Ingo Weinhold
99f00556a4 kernel: +arch_get_thread_debug_cpu_state()
Similar to arch_get_debug_cpu_state(), but the thread whose CPU state
to retrieve is specified. Works only for threads that aren't running,
and on x86-64 we can get the FPU state only when the thread was
interrupted in userland.
Not implemented for the incomplete architecture ports.
2016-04-24 17:29:28 +02:00
Ingo Weinhold
7a187cd629 _user_debug_thread(): Use new signal SIGNAL_DEBUG_THREAD
This resolves a TODO: We used thread_interrupt() to wake up the thread
from an interruptable wait. However, if the thread was already in the
kernel and about to start waiting, that would have no effect and the
thread would wait anyway. Now there's the new non-blockable signal
SIGNAL_DEBUG_THREAD, which is sent to the thread instead, making sure
that thread doesn't start waiting.
2016-04-24 11:54:17 +02:00
Alexander von Gluck IV
8d1cb54aac intel_extreme: Add in some code for the lakes (unused) 2016-04-22 22:41:52 -05:00
Alexander von Gluck IV
e54df51727 x86/kernel: Up kernel max page table to 16
* New Intel SkyLake seems to have 9 mapped ranges
  at boot.  It seems like this define has been creeping
  up for a while.
* Resolves the inital issue reported in #11377 on SkyLake
  as well. Bonefish mentioned it might need to be raised
  again... he had some good foresight there :-)
* I'm seeing the same no bootable partitions issue though
  via USB after this raise. (maybe a USB 3.1 thing?)
2016-04-22 19:05:19 -05:00
Dario Casalinuovo
76889670db shutdown_media_server: Finalize rework of synchronization
* When the user isn't requesting a custom notification, it will
be a BMediaRoster job to do it.
* Reintroduce BMediaRoster::SyncToServices, this time based on local
message passing rather than a global semaphore.
* SyncToServices is used in launch_media_server to make the process
more launch_daemon safe and faster in the average case.
* It was an error to add notifications in the media_server.
* Fixes #12717.
2016-04-21 19:02:27 +02:00
John Scipione
e9208b6876 ScreenSaver: Rename BuildScreenSaverDefaultSettingsView
...to just DefaultSettingsView

It is just as obvious what it does in context, but shorter.

Rename the function it contains from
BuildDefaultScreenSaverSettingsView to
BuildDefaultSettingsView
2016-04-13 15:50:30 -07:00
John Scipione
3801c37b90 Screensaver: Update Default Settings View to use Layout
and standard insets so that they match other screen savers
2016-04-13 15:50:30 -07:00
Alexander von Gluck IV
c58e1d7feb l2cap: Fix x86_64 build and refactor trace 2016-04-10 00:49:32 -05:00
Alexander von Gluck IV
1f2fa6cd09 bluetooth: Refactor debugging and trace calls
* The old debug system was too complex and made
  troubleshooring difficult. (it also was unique
  like a snowflake... which we don't want)
* Move to the classic TRACE / ERROR a large majority
  of the code has changed to.
* I like trace statements, but drop some obvious ones
* Fix style issues along the way
2016-04-09 23:40:54 -05:00
Alexander von Gluck IV
03b9db1a1a Merge branch 'intel-extreme'
Rework of the intel-extreme driver. Don't expect anything special yet.
2016-04-09 14:12:52 -05:00
Dario Casalinuovo
11c7bd86e2 Replace synchronization semaphore with async messages
* Remove SyncToServices, I will probably readd it in future
but this time using a local synchronization service more than
relying on the media_server to release the semaphore.
* Due to some discussions today in mailing list I decided
to step back and retry the initial way to notify media rosters
about media services status. It is woking by using two different
notifications for reconnecting to the media_server and notifying
the local subscribers.
* This speed up the media services restart.
* Sorry for the noise and very thanks for reviewing my code to
everyone.
2016-04-05 00:41:20 +02:00
Dario Casalinuovo
c131229f08 media_server: Add notifications 2016-04-04 01:27:12 +02:00
Dario Casalinuovo
53c3fa5137 Introduce functionality for syncing with the media services
* The global synchro semaphore is provided with the purpose of
being used to avoid threads lock up when the media_server is in
an undefined state. There's still room for improvements.
* BMediaRoster::SyncToServices lock up on a semaphore until
the multi_audio correctly connected to the mixer.
2016-04-04 01:27:09 +02:00
John Scipione
c4ec640b46 WindowInfo: spaces => tabs 2016-03-31 14:39:49 -07:00
Dario Casalinuovo
7eaa054b87 StreamerPlugin: Use BDataIO as base interface
* There's no need to force the streamer plugin to use a
BMediaIO. This class is supplied to accomodate more smart uses,
but in certain cases it makes just things more complex. If a
plugin doesn't need to have an internal caching method, then it
will be simpler to implement a block-consuming BDataIO and let
the internal BMediaIOWrapper to deal with caching.
2016-03-31 18:06:19 +02:00
Axel Dörfler
67988f501a NodeMonitor: Resolve mount points for B_WATCH_CHILDREN.
* When a watched directory contains a mount point, we need to resolve
  the actual parent directory of the mount point in the file system to
  serve the monitor.
2016-03-28 14:31:27 +02:00
Axel Dörfler
6f7fc2204b NodeMonitor: Added B_WATCH_CHILDREN flag.
* Added a directory argument for notify_{stat/attribute}_changed().
* This allows to watch only a directory, and get the notifications for
  all of its files, not just add/remove entry notifications.
2016-03-28 14:31:27 +02:00
Dario Casalinuovo
8c7679851f Move MediaIO in it's own header 2016-03-25 22:44:56 +01:00
Dario Casalinuovo
3733e4b2ab PluginManager/AddOnManager: Add streamers support code 2016-03-25 22:20:03 +01:00
Dario Casalinuovo
20ae088fa5 MediaWriter: Add new BUrl functionality 2016-03-25 22:19:03 +01:00
Dario Casalinuovo
a2b3f12698 MediaExtractor: Adapt to new BUrl functionality 2016-03-25 22:18:15 +01:00
Dario Casalinuovo
63e1708eee Finalize StreamerPlugin
* Add cpp file.
* Make Sniff virtual.
2016-03-25 22:16:36 +01:00
Dario Casalinuovo
3d8e0d38e1 Add initial design of StreamerPlugin 2016-03-25 22:09:03 +01:00
Alexander von Gluck IV
ca95e9dad9 intel_extreme: Add initial work for DDI ports 2016-03-15 18:12:28 -05:00
Alexander von Gluck IV
3d1bd895ad intel_extreme: Properly use VBIOS panel mode
* Move current_mode into the accelerant as the
  driver doesn't care.
* Record panel_mode in driver and present to accelerant
* eDP, if no EDID and mobile, leave edid incomplete.
  Mode set should notice that and fall back to panel_mode
2016-03-11 18:20:28 -06:00
Alexander von Gluck IV
a81f65eae5 Merge branch 'master' into intel-extreme 2016-03-09 17:11:08 -06:00
Augustin Cavalier
80bc632afd BStatusBar: Restore the old blue-ish color from before the Set*Color changes. 2016-03-07 16:08:00 -05:00