Commit Graph

51982 Commits

Author SHA1 Message Date
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
Rene Gollent 23153211e5 Debugger: More tweaks to expression window.
- If expression evaluation fails in some way, report it in the result
  view, rather than popping up a BAlert for it.
- Set minimum size on input field.
2014-10-26 22:30:19 -04:00
Ithamar R. Adema ed04ffb598 ARM: keep all pages we've mapped during kernel startup
Don't just keep the page directory, but also the actual allocates
pages for the pagetables we've created.
2014-10-26 23:43:35 +01:00
Ithamar R. Adema 475f00372b ARM: remove annoying #warning
Although done with the best intentions, the usage of #warning in the
ARM build makes it hard to see what's going on, or see any "real"
warnings.

Remove at least this particularly often triggered one, so we can
have a relatively "quiet" build again...
2014-10-26 23:40:17 +01:00
Stephan Aßmus 4b930cca9c HaikuDepot: Work in progress on featured packages
Not yet visible. But the package list area in the main window has a card
layout now and a second (hidden) page for featured packages. Which packages
are visible there will depend on the prominence value from the web-app
and other parameters later (suggestions based on packages already installed
and user-ratings). At the moment, there is no mechanism for updating the
package list when package info is retrieved asynchronously, even from the
cache. Also, the view should switch to the list when searching and perhaps
in other situations as well, like selecting a category or when no packages
would be featured. And clicking featured packages does not yet select them in
the info area...
2014-10-26 23:37:18 +01:00
Stephan Aßmus f545fe6acc HaikuDepot: Extracted MarkupTextView into its own files 2014-10-26 23:37:17 +01:00
Stephan Aßmus 7631f91496 HaikuDepot: Beginnings of "featured packages" view
Currently a vertically scrollable container for views which are similar
to the title area in the package info view (and share most code, but it
will diverge later on). Untested and not yet used.
2014-10-26 23:37:15 +01:00
Stephan Aßmus 73a3f44915 HaikuDepot: Extracted MessagePackageListener...
... from PackageInfoView into its own files.
2014-10-26 23:37:14 +01:00
Stephan Aßmus 7d0ce97b27 HaikuDepot: Extraced LinkView and ScrollableGroupView...
... from PackageInfoView.cpp into their own files in ui_generic.
2014-10-26 23:37:13 +01:00
Stephan Aßmus cb9a077fde HaikuDepot: Implemented "opening" installed packages
Package contents are scanned to find deskbar links. If a package has less
than four links, they will be offered in separate "Open <link name>" buttons
in the package info area. Usually, this results in one button to open the
main application from the package. If the heuristic proves to be not good
enough, this could be improved of course.
2014-10-26 23:37:12 +01:00
Stephan Aßmus 2d2824bfff HaikuDepot: Store package file name in PackageInfo
Also removed misplaced WIP functionality to find deskbar links
2014-10-26 23:37:10 +01:00
Stephan Aßmus ad5bc044c5 HaikuDepot: Make sure to pick up changed package action labels 2014-10-26 23:37:09 +01:00