This also implements the fault handler correctly now, and cleans up the
exception handling. Seems a lot more stable now, no unexpected panics or
faults happening anymore.
This will generate asm_offsets.h which makes our assembly code
easier to maintain by preventing hardcoded offsets for fields within structures.
(copied from X86 and removed the X86 specifics)
- BreakpointTableModel now encapsulates both breakpoints and watchpoints.
- Extended BreakpointView and TeamWindow to handle enable/disable/removing
watchpoints as well.
This comes from a similar patch in FreeBSD r234666 but does the check
and acknowledge in the case where we don't have any other interrupts.
Since the interrupt isn't used it is never unmasked and therefore the
check against the interrupt mask will always fail if the TWSI IRQ is
the only interrupt that happened. In that case an interrupt storm would
be triggered that lasts until any other valid interrupt comes along, is
handled and both are acknowledged.
This may help with #8454 on some cards that exhibit the spurious TWSI
IRQs.
Since we now implement HAIKU_CHECK_DISABLE_INTERRUPTS there is no need
to do it again in the interrupt handler. Further, store and carry over
the interrupt status from the hook to the interrupt handler as that is
cleaner and just in case reading the register somehow clears it. May
help with #8454.
This gets basic watchpoint support working. Right clicking on a variable
and picking Watch now opens a prompt with the inferred address, size
and watch type for the user to adjust.
Still needs some work to get them to show/be modifiable in the breakpoints
tab and to get them to respect architectural restrictions (i.e. on x86 we
can realistically only do 2 hardware watchpoints and those are restricted
to write watch), at least until we support software emulated watchpoints.
Move calculating the width of the column title itself out to
OutlineView::GetColumnPreferredWidth(). Previously, each pass would
compute the width of both the field itself and the column title,
leading to considerable redundant work. Also, take outline level indent
into account in the resulting width. Should improve performance a bit.
* don't enforce a zero boundary or a zero alignment
* when going to the next range, takes alignment into account.
It could previously just be enforced again through alignment and loop infinite.
* it should help with some FreeBSD based drivers
- navigate in a single S&T group using (win + left and right arrows)
- minor fixed to the patch
- enable switching between S&T groups on the same desktop again (win + up and down arrows)
Hope window key + arrow keys does not collide with to many apps?
* When in full screen mode, add a tooltip with the window title,
and a keyboard shortcut hint so one knows how to get out of it.
Should help with #7356
* 80 column cleanup
We now parse the user's input to see if it should be a pointer/reference
type and create a derived type accordingly. This allows casting to e.g.
StyledEditApp*.
* Dynamically update the serial port list in the connection menu when devices get added or removed
* Make the settings in the settings menu actually do something
* This makes the keymap behave as in every other operating system.
* I don't really understand the original purpose of this change. Please
enlighten me (see #4464).
* Before, you had to have both, the text view layout item, and the label
layout item or else nothing would ever be visible.
* Now you can only create the text view item, and it will still work.
* Also, no matter the order you added the layout items, they would always
put the label on the left, and the control to the right.
* You can place the label and text view layout items anywhere now, although
you should keep in mind that the view spans over their frame unions; IOW
they should always adjacent to each other, but not necessarily horizontally
and left to right.
* No longer uses a fixed label spacing, but utilizes
BControlLook::DefaultLabelSpacing() instead.
* However, the spacing is always added to the right of the label, no matter
how you place it in the layout. Maybe one wants to add a SetLabelTextViewGap()
like method.
* Adjust BTextView to use B_COMMAND_KEY instead of B_CONTROL_KEY
for wordwise navigation and jumping to the top and bottom.
This requires a shortcut, which is only installed if there is
none already (for the groups B_LEFT_ARROW/B_RIGHT_ARROW and
B_HOME/B_END). As a result, wordwise navigation no longer works
in Mail, for instance.
* drop "protected" from bsd-compat header sys/cdefs.h, as that define
pollutes the global namespace and at least FreeBSD doesn't provide
it anymore
* remove all uses of that macro from libedit, which seems to be the
only user in our tree
This contains both the common ARM(v5) vector handling as well as
the PXA(verdex) specific interrupt controller code, to be seperated
when ARM support for FDT is implemented.
Functional enough to handle interrupts, needs work on KDL support.
* General fixes to get the refactored framebuffer code to work
(across all 3 supported architectures)
* PXA (verdex) specific fixes to framebuffer code.
Now properly displays the (greyed) icons on the framebuffer!
Signed-off-by: Ithamar R. Adema <ithamar@upgrade-android.com>
* since the FDT linux boot method doesn't pass the uimage, we can't
use it to pass the kernel+driver tgz in a multi-file uimage.
* instead we check for the linux initrd properties in the /chosen node.
(cherry picked from my sam460ex branch)
* we first try to find 'serial', 'serial0' or 'serial1' in /aliases
* extract the required properties from the found node and use them
* fallback to the hardcoded UART from the board definition header
(cherry picked from my sam460ex branch)
* add some helpers for Flattened Device Trees, for now a dump call
* dump the passed FDT on startup for now
Conflicts:
src/system/boot/platform/u-boot/Jamfile
(cherry picked from my sam460ex branch)
* For the sam460ex and likely some ARM boards we will try to boot
using the passed FDT, as it's the recommended method now.
(cherry picked from my sam460ex branch)
* U-Boot based loader code will need to manipulate the passed
Flattened Device Tree, no need to reinvent the wheel.
* libfdt itself is dual-licensed GPL/BSD, the later suiting us.
* This comes from <git://git.jdl.com/software/dtc.git> tag v1.3.0
(cherry picked from my sam460ex branch)
nielx+pulkomandy: With the switch from Pootle we switched to the correct
representation of country codes by using lang_COUNTRY (instead of lang_country).
Haiku did not respect that yet and instead always looked for lower case country
codes, thus not finding all the hard work of the pt_BR team.
Other translations currently affected are en_CA and en_GB, though these are not
actively maintained.
+alpha4
On quit, the inspector window needs to detach itself from its current
block and release its reference. Otherwise the next attempt to inspect
the same block will crash since it still contains the deleted window
in its listener list. Also fixes leaking blocks.
This uses custom controls to allow the user to choose between
single and double arrows and none, dots, or line knob styles
in a graphical fashion copied from BeOS Scrollbar preflet.
* Fake-atributes enabled by default (Real attributes require optimization. Too slow with big and fragmented volumes.)
* Upadted mime-table for file extension to mime-type mapping.
* Fix for fake-attributes mode switching.
* Fix: the size of dirent struct in the fake attributes was counted incorrectly
* Directory reading code was re-written from scratch. That fixes hopefully #7573, #4974, #4877, #9082
* Create, rename, unlink routines were completely reimplemented
* Added fully functional support of extended attributes. This fixes#6509
Draw the return key with rounded inner corners instead of square, this
builds on top of the changes made in hrev44709. The secret to rounding
the corners was to draw both the edge and background of the individual
sections before drawing the button's background on top minus the
clipped out bottom left section.
+alpha4 (optionally, purely cosmetic but shouldn't hurt)
The ls command, uses blue color for directories. For a directory that
has write permission for others, it uses green highlighting while
displaying the directory name. However, blue text and green highlight
is difficult to read.
The patch keeps the text color as blue and changes the highlight to
yellow.
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
when drawing the following controls:
* SliderBar
* ActiveTab
* MenuField
This is a followup commit based on the change made for buttons in
hrev44708 in response to bug #8700. It is good practice to always preserve
the parent view's clipping constraints.
Stippi and Axel can you you at this commit and make sure this is kosher?
+alpha4
Remove the code that resets the clipping region. However, the
enter button still doesn't draw correctly, the trick it used before
is not working with the change from the last commit.
* Disabling all interrupts prior to ownership handover from SMM to OS
can prevent propper OHCI and PS/2 functionality as described in
#8987 and #8984. In that case SMM does not respond to the ownership
change request. On the other hand not disabling the interrupts can
lead to interrupt storms (discussed in #8085) since no interrupt
handler is installed at that moment. As suggested by mmlr this patch
attempts to address both issues by keeping the ownership change
request interrupt enabled.
* Removed an unnecessary reset upon non-responding SMM for now,
since we reset a few lines later anyway and added TODOs respectively.
That should safe a bit boot time.
Signed-off-by: Michael Lotz <mmlr@mlotz.ch>
* added Icb::FindBlock() to find block in extents.
* MetadataPartition uses extents descriptors found in the metadatafile
to lookup blocks on a physical partition
* uses struct timespec instead of time_t
* added init_entities() to call C++ structures constructors. This is
called at module initialization, C++ constructors are currently not called when
a kernel module is loaded.
* tested with a sample bluray ISO.
* Depends on ff09527e4f (which is +alpha4 *not* +alpha3) :)
* As per commit ML
* Do a direct AddItem vs using an item variable which
breaks program flow.
* A better long term solution may be to enable the debug server
to recover 'system' applications that fail. #9039
* The only implementation that would accept more than 2 TB was the one in
scsi_disk. But even that one was limited to 63 TB.
* Now there is a new utility function devfs_compute_geometry_size() which
does it correctly for sizes up to 2^64 which should be good enough for
quite some time :-)
* This fixes bug #8992.
The signames_haiku.h header got out of sync when merging the real-time
signals branch. It is used when cross-compiling Haiku, since the build
tool mksignames only generates a signal name list suitable for the host
platform.
Fixes ticket #9046.
Signed-off-by: Ingo Weinhold <ingo_weinhold@gmx.de>
The function fill_team_info() completely ignored the user id and the
group id of the process (fields info->uid and info->gid respectively).
Since the info structure was zeroed earlier, the ps output showed uid
and gid of each process equal to zero.
The patch fixes the problem by properly initializing the members with
effective uid and gid. Now the output is correct.
Fixes#8995.
Signed-off-by: Ryan Leavengood <leavengood@gmail.com>
Added an early return in GrepWindow::_OnReportResult(BMessage* message)
in case the report message does not contain matches.
Signed-off-by: Stephan Aßmus <superstippi@gmx.de>
* Matches "Restart Tracker" option in Deskbar
* Only shows up when 0 Deskbar processes exist
* Don't dereference fFileMenu if RepopulateMenus called
on desktop (no menu bar)
* Regenerate desktop menu on each click
* Resolves#9039
* HaikuMailFormatFilter is using the new extract_from_header() method
to retrieve its fields, but that one is often rather slow in comparison.
* Added a test parse_fields() method that outperforms it considerably.
* The controller structure is static, so if you closed the device,
and the driver failed to initialize correctly (ie. finds no codec)
on the second try, it would have crashed accessing an already freed
codec.
* Not sure why it fails to detect any codecs on second open, yet,
though.
* When a block was only used in a sub-transaction, it was thrown away,
but the transaction::num_blocks field was not decremented.
* This caused transactions never considered finished which eventually
led to bug #8942. This does not explain the disk corruption occurring
in #8969, though.
* Don't redefine incorrect cpu headers in framebuffer code
* Drop unused err
* Fix missing parentheses as per gcc
* Fix Raspberry Pi Build
* Fix overo build due to missing header
* Proper framebuffer code is chosen based on hardware
* This change could extend into other arch code as well
* François gave permission to update his copyrights
* Minimal functional change
* These video sources would be good cannidates to be
refactored as classes. (like the arm serial code)
* No functional change. There are some order style issues
in some of the code (the top externs), but I decided to
not fix them as I can't build these atm to test.
* can't test this, it's untested, but similar to ATADevice.cpp
* should no longer panic when hdd > 2TB is connected
* fix request completition in two error cases
* add const to some parameters