* For some reason the code in acpi_processor_init() assumed that the
CPU index returned by ACPI was 1-based. On my machines it is 0-based
and the syslogs on Trac from the last months don't show any
exception. The code even contained a hack to force satisifying that
assumption for a single-CPU machine.
* Instead of calling intel_cpuidle_init()/acpi_cpuidle_init() when
initializing the driver for the device node for CPU 0 -- thus
depending on the order the device manager iterates through the CPU
device nodes -- rather check whether all CPU nodes have indeed been
encountered.
* acpi_cpuidle_init_driver(): Don't leak the cookie in error case.
* acpi_cpuidle_uninit_driver(): Clear the sAcpiProcessor element for
the uninitialized CPU node. We'd also have to unregister the idle
callback when acpi_cpuidle_uninit_driver() is called for the first
CPU device node, but there isn't any API for it ATM.
Fixes a crash on machines with multiple CPUs where acpi_cpuidle_setup()
wouldn't already fail early (apparently only mine).
Casting the difference of the two off_t values to size_t may truncate
the result. Doing so before the comparison will therefore break it.
Instead cast the size to off_t to get around the signed versus unsigned
integer expression comparison and then cast the result of the comparison
to size_t again. Should fix#9714.
This reverts commit f7176b0ee5. Citing Ingo:
"off_t is the correct type to use for addressing pages in a cache/file,
which page_num_t should only be used for physical pages." I'll see how to
fix the GCC 4.7 warnings differently :)
* GCC 4.7 warning: narrowing conversion of '(int)(((ColorPickerView*)this)->ColorPickerView::r * 2.55e+2f)'
from 'int' to 'uint8 {aka unsigned char}' inside { } is ill-formed in C++11 [-Werror=narrowing]
* error message: error: cannot bind packed field
'args->kernel_args::platform_args.platform_kernel_args::apm' to 'apm_info&'
* the reason would be that the reference doesn't have alignment information anymore.
* changed the reference to const for read access, and use the long form for setting a field.
- If the given type had no modifiers specified, the base type string
wasn't being moved out of the input buffer, leading to it mistakenly
being parsed as a modifier. This would result in errors for simple
cases such as a cast to size_t. Thanks Axel for reporting.
- Make GetToolTipInfo() sensitive to the column being hovered over.
If hovering over the variable name, we display its value location
information as before. However, if hovering over the value column,
the tooltip now displays the full value of the variable, if
available.
- Areas, images and semaphores are now presented in a more readable
tabular format.
- Areas: Columns now include base address, end address and size to
make it easier to determine if e.g. an address easily falls within
a given area, and are also sorted by base address. Protection flags
and locking have been made more concise, with a corresponding key.
Name has been moved to the last column to allow for a more compact
format.
- Images: Name moved to last column for improved column formatting,
purposes, and sorted by load address.
- Threads are now sorted such that all threads in exception states
come at the tail end of the list, and the format has been revised
to make them a bit easier to parse. State is only indicated if
something other than running, along with any available exception
state messages.
- Instead of implicitly registering and unregistering a service
instance on construction/destruction, DefaultNotificationService
now exports explicit Register()/Unregister() calls, which subclasses
are expected to call when they're ready.
- Adjust all implementing subclasses. Resolves an issue with deadlocks
when booting a DEBUG=1 build.
Use BNetworkDevice instead of using the driver settings api to get the
associated wireless network.
Also got rid of Settings::_PrepareRequest(), since it's no longer needed.
- Rename the current RangeSetting -> BoundedSetting and add an
appropriate setting type enum, since that one actually describes
a single value clamped to a range, rather than an actual range.
- Add RangeSetting class that has both a lower/upper bound and a pair
of values representing the lower and upper ends of the range currently
selected.
- Add several new optional hook functions to ValueNode. These
allow implementing subclasses to specify that they're a container
type that can export a range of items (i.e. arrays, lists, etc.),
and expose several operations on said ranges of child items.
Use BNetworkInterface and BNetworkInterfaceAddress in the Settings class
instead of using ioctls. This works for everything except the default
route, for which there is no API yet.