Commit Graph

52008 Commits

Author SHA1 Message Date
Adrien Destugues
524709ea2b Avoid space after -include.
This seems to make cpp unhappy. Note that other fixes seems to be needed
to get the build running with gcc2 (missing includes and the like.)
2014-10-29 23:19:49 +01:00
Adrien Destugues
920be2076f Re-enable raw audio ffmpeg output. 2014-10-29 23:19:48 +01:00
Michael Lotz
a264790727 writembr: Fix too short MBR due to wrong compile flags.
The compile flags were set so that only the boot code itself would be
produced, excluding the (dummy) partition table and signature. The code
in writembr still assumed that the MBR would be 512 bytes however and
therefore access the data array out of bounds.

Fix flags to produce the full 512 byte MBR sector and add a
STATIC_ASSERT so that the size assumption is checked on compilation.

Also fix a typo in mbr.nasm, mostly to trigger re-generation of the
MBR data that one would otherwise need to remove manually...

The two out of bounds array accesses were pointed out by CID 1249923 and
CID 1249924, the insufficiently large target buffer of the memcpy by
CID 1249901.
2014-10-29 22:49:55 +01:00
Rene Gollent
c3f81329bb Debugger: Implement expression variable value resolution.
General:
- Resolving variable values requires both a stack frame and a CPU state.
  Adjust all interfaces and callers accordingly.

ExpressionEvaluationJob:
- Pass additional parameters needed for variable value resolution.
- If variable resolution is desired, ExpressionEvaluationJob now
  creates a temporary ValueNodeManager for that purpose.
- If the expression parser returns a value node pointer that needs
  to be resolved, schedule a corresponding job and wait.

CLanguageExpressionEvaluator:
- Clean up some leftovers that were preventing variable names from being
  handled properly in some cases.
- Implement handling of identifier names. These are now looked up against
  the value node graph of the active node manager, and if found, corresponding
  values are retrieved. If the value has not yet been resolved, an exception
  is thrown to ask that to be done.

This gets value resolution working for basic local variables and function
parameters, and consequently, #9712. Structure/class members and/or pointer
indirection aren't yet handled.
2014-10-29 17:41:54 -04:00
Adrien Destugues
de6278fec1 NetworkSetup: move renegociate and disable buttons to HardwareView
The idea is making the interface list a generic list to add some stuff
that are not interfaces there (ie services: DNS, FTP, SSH, ...)
2014-10-29 22:22:16 +01:00
Adrien Destugues
afc5d438a7 Add an app server test for stack&tile
Should help with debugging #8569.
2014-10-29 22:22:15 +01:00
Ingo Weinhold
dfb13a8716 Increase the size of the kernel FD table
With packagefs potentially opening quite a few packages the default of
256 slots is a bit tight. It's 4096 now, which should be safe for a
while, but we might want to consider resizing the table dynamically and
probably even switching to another algorithm for allocating the slots.

Should fix #11328.
2014-10-29 21:07:03 +01:00
Ingo Weinhold
6bbd25f071 Make vfs_resize_fd_table() accessible in the kernel
Also update some types from int to uint32.
2014-10-29 21:07:02 +01:00
Rene Gollent
f9f19f0246 Debugger: Fix CID 1249931.
- Add missing field to initializer list.
2014-10-29 12:30:59 -04:00
Rene Gollent
2e37350e9d Debugger: Fix CID 1249932.
- Add missing member fields to initialization list.
2014-10-29 12:28:37 -04:00
Rene Gollent
af79919aa9 Debugger: Adapt CliDumpMemoryCommand to new expression interface.
- CliDumpMemoryCommand now requests asynchronous expression evaluation
  like the other users of expressions.
2014-10-29 11:54:14 -04:00
Rene Gollent
382587517f Debugger: Add expression support to CliContext.
- Extend CliContext::Event to be able to store expression
  event results.
- Extend CliContext to watch for team expression events and
  handle them accordingly.
2014-10-29 11:54:13 -04:00
Ingo Weinhold
53aae3db4d packagefs: Package::Open(): Also log error code 2014-10-29 16:06:01 +01:00
Rene Gollent
fdb2d5d961 Debugger: Adapt expression eval users to async interface.
Factor out message constant for expression evaluation completion,
as multiple places will be using that.

ExpressionEvaluationWindow:
- Check for expression match immediately in listener hook, and
  don't bother dispatching to the message loop in such a case.
  Simplifies some of the other code.

InspectorWindow / WatchPromptWindow:
- Rather than attempting to evaluate an expression directly,
  we now defer to the async interface. Clean up and adjust accordingly.

TeamWindow:
- Adjust window creation calls due to parameter changes.

This leaves only the CLI dump memory command to be adapted.
2014-10-29 10:52:50 -04:00
François Revol
7c5dfbad75 bootman: Fix warnings
warning: label alone on a line without a colon might be in error

Doesn't change the produced binary.
2014-10-29 12:52:41 +01:00
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