Commit Graph

52093 Commits

Author SHA1 Message Date
François Revol
74a14969ec bootman: fix warning
macro `SECTION' exists, but not taking 0 parameters
2014-10-29 12:52:41 +01:00
Ingo Weinhold
7ca277b9ca vm_soft_fault(): remove unused wiredRange parameter 2014-10-29 12:37:25 +01:00
Ingo Weinhold
078a965f65 vm_soft_fault(): Avoid deadlock waiting for wired ranges
* VMArea::AddWaiterIfWired(): Replace the ignoreRange argument by a
flags argument and introduce (currently only) flag
IGNORE_WRITE_WIRED_RANGES. If specified, ranges wired for writing
are ignored. Ignoring just a single specified range doesn't cut it
in vm_soft_fault(), and there aren't any other users of that feature.
* vm_soft_fault(): When having to unmap a page of a lower cache, this
page cannot be wired for writing. So we can safely ignore all
writed-wired ranges, instead of just our own. We even have to do that
in case there's another thread that concurrently tries to write-wire
the same page, since otherwise we'd deadlock waiting for each other.
2014-10-29 12:37:25 +01:00
François Revol
cf3c703b7a Typo 2014-10-29 11:55:32 +01:00
Adrien Destugues
57810fe9e0 Sounds: zoom to fit instead of going fullscreen.
Fixes #5588.
2014-10-29 10:55:04 +01:00
Adrien Destugues
3a8e734bdd Sounds: make private methods private. 2014-10-29 10:20:46 +01:00
Adrien Destugues
c54aa3df3f Sounds: rework layout of window
* Remove useless BBox
* Use unicode symbols for play/stop buttons instead of a label
* Since the buttons are smaller, put them on the same line as the file
selector.
2014-10-29 10:03:11 +01:00
Adrien Destugues
f26118f286 Change error code for already mounted partition to B_BAD_VALUE.
As Axel pointed out, B_BAD_DATA is not the correct code here. B_BUSY
could be used but I wantd a code different from the existing one for
"partition already being initialized".
2014-10-29 08:44:52 +01:00
Rene Gollent
d1ae01d79b Debugger: Use async request in expression window.
- ExpressionEvaluationWindow now uses the aforementioned
  request interface to ask the debugger core to perform evaluation
  on its behalf, rather than doing so itself directly.

The remaining users of the expression evaluator will be adjusted in
following commits.
2014-10-28 23:30:02 -04:00
Rene Gollent
2d5794a1a3 Debugger: Add asynchronous expression evaluation interface.
- Add UserInterfaceListener hook to request expression evaluation.
- Add corresponding events/handlers in Team and TeamDebugger.

These allow callers to request evaluation of expressions by the
debugger core's worker threads with asynchronous notifications of
results. While not strictly necessary right now, this paves the way
for further changes to come, as handling of variables will
potentially require resolving their values if they haven't been
already, and this shouldn't be done from user interface threads.
2014-10-28 23:30:01 -04:00
Rene Gollent
feab8604c9 Debugger: Add job for expression evaluation. 2014-10-28 23:23:26 -04:00
Rene Gollent
5ac34e5a78 Debugger: Add missing team lock in DebugReportGenerator. 2014-10-28 23:23:25 -04:00
Rene Gollent
3fab5ae483 Debugger: Add const qualifier to JobKey object parameter. 2014-10-28 23:23:25 -04:00
Ingo Weinhold
8ef857d85c vm_soft_fault(): Avoid inconsistent state when seeing wired page
When we encounter a wired page that we'd have to unmap to map our newly
allocated one, we need to get rid of the latter before unlocking
everything and waiting for the wired page. Otherwise we'd leave things
in an inconsistent state (a page from an upper cache shadowing a mapped
page from a lower cache).
2014-10-29 02:36:09 +01:00
Ingo Weinhold
699b57307e VMAnonymousCache::_MergePagesSmallerConsumer(): Add ASSERT 2014-10-29 02:36:08 +01:00
Ingo Weinhold
9da590f73e Add vm_page_free_etc()
It additionally gets a vm_page_reservation* argument. If not NULL, the
page count of the reservation is incremented for the freed page.
2014-10-29 02:36:08 +01:00
Ingo Weinhold
70d3bd5592 vm_soft_fault(): Missing DEBUG_PAGE_ACCESS_END()
... in case we'd need to unmap a page that is wired.

Fixes the immediate issue of #10977. There's a problem remaining (as
discussed in comment 1): If two threads want to wire the same page at
the same time (which led to the assertion being triggered), they will
now deadlock, waiting for each other to remove the pre-registered
VMAreaWiredRange.
2014-10-29 02:36:08 +01:00
Michael Lotz
52d500e5b4 kernel: Workaround for double lock of spinlock in user timers.
The thread that is being [un]scheduled already has its time_lock locked
in {stop|continue}_cpu_timers(). When updating the TeamTimeUserTimer,
the team is asked for its cpu time. Team::CPUTime() then iterates the
threads of the team and locks the time_lock of the thread again.

This workaround passes a possibly locked thread through the relevant
functions so Team::CPUTime() can decide whether or not a thread it
iterates needs to be locked or not.

This works around #11032 and its duplicates #11314 and #11344.
2014-10-29 00:25:37 +01:00
Adrien Destugues
4ed39e6a62 disk device manager: check that partitions are unmounted before uninitializing.
when uninitializing a partition or a disk (removing the partition
table), check that all partitions from that table are unmounted, as they
are about to become invalid.

Fixes #8827.
2014-10-28 23:52:57 +01:00
Adrien Destugues
04dbe5b1c5 safemode.h: make it usable from C code. 2014-10-28 23:52:22 +01:00
Adrien Destugues
33d3467372 Fix documentviewer package.
The dependency to openjpeg was incorrect, making the package
uninstallable.
2014-10-28 23:27:41 +01:00
Adrien Destugues
b36eccad70 Add avra package. 2014-10-28 22:42:59 +01:00
François Revol
35181a4d7a libuuid: Update package to fix the pkg-config file 2014-10-28 22:04:26 +01:00
Rene Gollent
e7d7cd5837 x86_64: Update webkit to 1.4.6-3.
Should resolve #11378 for all architectures.
2014-10-28 14:05:53 -04:00
Jonathan Schleifer
7f2419ee59 Add less to bootstrap image 2014-10-28 18:56:02 +01:00
Rene Gollent
28d8d60fb6 x86: Update haikuwebkit to 1.6.3. 2014-10-28 11:51:46 -04:00
Rene Gollent
296a5379ff x86_gcc2: Update haikuwebkit to 1.4.6-3.
Fixes breakage due to locale kit changes. Builds for x86 and x86_64
will be forthcoming.
2014-10-28 10:27:34 -04:00
Jonathan Schleifer
982bb9f713 Update python_bootstrap to 2.7.6
Python 2.7.x has *much* better cross-compiling support so that it's now
actually possible to properly cross-compile Python during the bootstrap.
Before, it would just depend a lot on luck and the build host used, now
it even cross-compiles on OS X.

This means it's now possible to build a working bootstrap image on OS X!
:)
2014-10-28 15:18:28 +01:00
Adrien Destugues
1837fcbfad Disable Werror for firewire again.
There is apparently no way to get all compilers happy at the same time.
2014-10-28 10:57:33 +01:00
Adrien Destugues
44192f9915 firewire: warning fix again.
Sorry, it seems I wasn't fully awake yet...
2014-10-28 10:45:19 +01:00
Adrien Destugues
e0e8bf6005 DocumentViewer: update to current mupdf.
This fixes most of the crashes when opening PDF files with it.
2014-10-28 09:43:12 +01:00
Adrien Destugues
35ba39e97f Add packages for popt, protobuf_x86, mosh_x86. 2014-10-28 08:52:30 +01:00
PulkoMandy
438d564c08 Firewire: fix more warnings. 2014-10-28 08:49:18 +01:00
PulkoMandy
6879e9df77 Tarfs: fix traces 2014-10-28 08:49:05 +01:00
François Revol
8c668f744f Force unsigned constants to avoid narrowing conversion warnings
Hopefully this will fix the gcc4 build.
2014-10-28 02:46:59 +01:00
François Revol
11b807eaf7 Fix warnings 2014-10-28 02:36:25 +01:00
François Revol
cfedac792a Add lzip package 2014-10-28 00:53:02 +01:00
François Revol
3e7c1005ef Add MIME type for LZip archive files 2014-10-27 23:49:33 +01:00
François Revol
ebc6d4d0b0 Add an icon for LZIP archive files 2014-10-27 23:49:31 +01:00
PulkoMandy
7db4f82528 Enable Werror for a few more targets. 2014-10-27 23:05:28 +01:00
Rene Gollent
f0baa913b6 Debugger: Add type selector to expression window.
- Allows one to choose the type which the current expression
  should be evaluated as.
- Don't attempt to evaluate expression if the input field is
  currently empty.
2014-10-27 13:54:21 -04:00
Rene Gollent
1cf8b1345e Debugger: Fix various problems in CLanguageExpressionEvaluator.
- Add missing initialization of current type when asked to
  evaluate new expression.
- Fix several problems with power handling.
2014-10-27 13:52:31 -04:00
Rene Gollent
1b629877b1 Debugger: Cleanups.
- Remove dependency on MAPM/ExpressionParser. Consequently also adjust
  CliDumpMemoryCommand, InspectorWindow and WatchPromptWindow to use
  CLanguageExpressionEvaluator for address input evaluation.
2014-10-27 11:52:28 -04:00
Rene Gollent
fc8713b02e Debugger: Rework expression evaluator.
CLanguageExpressionEvaluator:
- Revise to make use of Number class rather than MAPM. In the process,
  implement support for bitwise operators.

SourceLanguage/CLanguageFamily/CLanguageExpressionEvaluator:
- Adjust interface for expression evaluation to allow specifying the
  type to evaluate the expression as. Adjust implementing classes
  accordingly.

ExpressionEvaluationWindow:
- Adjust to new expression interface. For now defaults to 64-bit integer
  type, UI for type selection to be added.
2014-10-27 11:52:27 -04:00
Rene Gollent
1c6c5f3b57 Debugger: Add Number class for expression usage.
- This class abstracts out the underlying type of a value, and handles
  all the basic mathematical logical operators accordingly. Replaces
  the MAPM type previously used for these respective operations.
2014-10-27 11:52:26 -04:00
Adrien Destugues
5d5ec05b1d B*Format: make immutable and remove locking
The language and formatting conventions can now only be set when
creating the objects. This removed the needs for locking them when
formatting to avoid some other thread changing the format while it's
being used.

Adjust tests and DeskBar TimeView to the API changes.
2014-10-27 14:08:42 +01:00
Ingo Weinhold
fa80e7b28f x86 kernel args: Increase number of page tables 2014-10-27 10:57:28 +01:00
Rene Gollent
31b213c5ae Debugger: Implement evaluation of logical operators.
- CLanguageExpressionEvaluator now handles all the basic logical
  comparison operators. Bitwise operators still to come, as some
  of those may possibly require modifications to the MAPM library.
2014-10-26 23:44:24 -04:00
Rene Gollent
310f631263 Debugger: Rework expression tokenizer.
- Separate operator parsing out into its own function, and refactor
  it to handle multi-character operators. These aren't yet handled
  by the parser itself though.
2014-10-26 23:18:53 -04:00
Rene Gollent
076135838d Debugger: Locking cleanups.
- Using BMessenger as an indirect lock is unnecessary, as
  BLooper::Lock() checks if the current looper is valid via the global
  looper list directly.
- Fix race conditions. When asked to show various subwindows, lock them
  before calling Activate(), as the window could otherwise potentially
  quit in between us checking pointer validity and calling Activate().
- _GetActiveSourceLanguage() needs to acquire a reference to the language
  object in the case where it's retrieved from the active source code.
  Otherwise, an unbalanced release would take place when creating the
  expression window, leading to crashes.

Thanks to Stephan for reviewing.
2014-10-26 22:30:20 -04:00