* Cap fSlotCount at the hardware level, not just at the software
level.
* Clear interrupts in init routine.
* Write high DMA address of DCBAAP.
Found by cross-comparing with DragonFlyBSD and OpenBSD.
* Fix potential leak of 'controlData' at line 701, which is allocated
at line 695. Pointed out by Clang Static Analyzer.
* Add NULL check to 'controlData'.
Change-Id: I96b0244d05d303b4c08ac8969f5ce5fc2e5012f9
Reviewed-on: https://review.haiku-os.org/c/1059
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
This didn't trigger any panics on my bare-metal dev install when tested,
but it might explain some easily-reproducible hardlocks (i.e. can't
even drop to KDL via emergency keys) I was seeing on other machines.
"are_interrupts_enabled()" is a "relatively" expensive function, so avoiding
it makes sense. This is the same way it's done elsewhere in sem.cpp, as well
as for mutexes and condition variables also.
* Additional return BAD_DATA after error conditions encountered
when attempting to decompress BTRFS extents.
* MemoryDeleter for extent_data added to ReadAt() preventing
double-free after error.
Change-Id: Ib9f8e9723d3fb6aaff8e69dbb66cd279e86f226b
Reviewed-on: https://review.haiku-os.org/c/1045
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
Nothing that uses this API at present needs a const iterator (and
as far as I could see, nothing ever called Remove() on the iterator.)
But this is now how HashMap's API works, so let's be consistent.
Changes are pretty straightforward. The iterator is now const
again, but can be passed to the hash table itself for removal
of the current item.
Change-Id: Ifd3c8096ffb187a183ca5963ed69a256562a524f
Reviewed-on: https://review.haiku-os.org/c/1042
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The HashMap and HashSet classes are copied from userlandfs. The
HashMap one works as-is as it's already used in userlandfs; the
HashSet does not even compile yet.
Change-Id: I1deabb54deb3f289e266794ce618948b60be58c0
Reviewed-on: https://review.haiku-os.org/c/1041
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The current volume-id is "bootimg", does not matter which version of
haiku nor to which architecture the ISO is targetting.
Having a "too generic" name as volume-id directly affects the ISO's
recognition by libosinfo.
From now on, let's use:
haiku-$(HAIKU_VERSION)-$(TARGET_ARCH)
Which would generate an ISO with volume-id as:
Volume id: haiku-default-r1~beta1-x86_64
Fixes: #14695
Signed-off-by: Fabiano Fidêncio <fabiano@fidencio.org>
Change-Id: I25e2f5338403058a363872abd196d698764cc3c1
Reviewed-on: https://review.haiku-os.org/c/1034
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This reverts commit 279470d553.
Reason for revert: Commited in wrong order.
Change-Id: I1163b12728f19aee4506c95512d0afdea0433362
Reviewed-on: https://review.haiku-os.org/c/1046
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
* Test the correct allocation before returning no memory
Change-Id: Id4422dab2e99487e015e1d915bfba5c18d1b8030
Reviewed-on: https://review.haiku-os.org/c/1044
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
There isn't much use for a class that can only compute the dates of
two minor and one major holiday. Probably in the future the Locale Kit
could be extended to expose ICU holiday APIs, but seeing as that
is a less-used functionality, this can just be removed altogether
for now at least.
Change-Id: I18be044be7d5c6896295ed85d294abeea90b8bb0
Reviewed-on: https://review.haiku-os.org/c/1037
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* Add settings file entry "start up policy", with two options:
resume prior session, and start new session
* Add dropdown to settings window to select option (defaulting
to "resume prior session", which is the behaviour prior to
this patch)
* Add code to check setting on launch and open a new session,
or reload the prior session as specified.
* The "Start new session" option behaves in the same manner as
opening a new window, following the user's already specified
new window option
* Related comment 2 of bug #14890
Change-Id: I46c33977bf3e9b943841f70050f890f51ac73bff
Reviewed-on: https://review.haiku-os.org/c/1035
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
On my system the interrupt line is shared with the PS/2 controller, so
there are a lot of unhandled interrupts. Just silently ignore them.
Change-Id: Ia6812a5a1d78907622ddebbd03165ed016e26e26
Reviewed-on: https://review.haiku-os.org/c/1031
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Also avoid leaking resources in case initialization fails.
Change-Id: Ia533182eeeb81b7d52b49510b1f375a4fc55258f
Reviewed-on: https://review.haiku-os.org/c/1030
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
- Define a class for each register, allowing easier access to relevant
values. This avoids dealing with bitshifts and magic constants all
over the code.
- Fix definition of CMD0 and the flags used to submit it. We now get a
command completion interrupt, yay!
- Make some changes to support v3 and v4 controllers:
- Enable PLL (harmless for older versions)
- Manage faster and more configurable clock settings
Change-Id: I8a97edcb881acc1ac2a8b0a2593930f18e777594
Reviewed-on: https://review.haiku-os.org/c/1029
Reviewed-by: waddlesplash <waddlesplash@gmail.com>