55591 Commits

Author SHA1 Message Date
Nick Smallbone
a99a0c003d EFI: add support for SMP.
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2016-11-14 03:21:41 +13:00
Jessica Hamilton
ec239abcf5 EFI: implement mmu_map_physical_memory & mmu_free.
Also move cpu, acpi, hpet init into platform_start_kernel, as we
need an initialised heap for alllocating memory for recording
the mapped regions.
2016-11-14 03:21:41 +13:00
Jessica Hamilton
a7142a5037 EFI: add cpu.cpp from bios_ia32 2016-11-14 03:21:40 +13:00
Jessica Hamilton
a1d0102ee4 EFI: add support for HPET 2016-11-14 03:21:40 +13:00
Jessica Hamilton
6e6efaecdc EFI: add ACPI support
Also add support in the kernel to get the ACPI RSDP from the
bootloader, and pass onto the ACPI driver using get_boot_item.
2016-11-14 03:21:36 +13:00
Henry Harrington
82dcc31606 bootloader: Translate kernel args before adding them to kernel_args_range.
Chunks may be physically contiguous, but virtually disjoint. Adding
physical addresses may cause ranges to be merged incorrectly.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2016-11-14 01:00:00 +13:00
Henry Harrington
21e3ac6cf5 vm: Try harder to allocate early physical pages.
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2016-11-14 01:00:00 +13:00
Henry Harrington
34a6dd6728 EFI: Initialize/load the GDT.
Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2016-11-14 00:59:59 +13:00
Henry Harrington
b3215a6275 EFI: preliminary support for starting the kernel.
Enough to let the kernel to print hello, but not much beyond that.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2016-11-14 00:59:56 +13:00
Jessica Hamilton
2da1cb75a4 EFI: device support for anyboot CDs.
I have tried to get normal ISOs working, but the bootloader doesn't
seem to detect any bootable partitions.
2016-09-03 01:58:41 +12:00
Jessica Hamilton
325b1e3787 EFI: add support for graphics mode output
* We can now switch between graphics and text modes, and display
  the splash screen
2016-09-02 19:02:35 +12:00
Jessica Hamilton
dbf1363b41 EFI: naive platform_allocate_region() implementation 2016-09-02 19:02:35 +12:00
Jessica Hamilton
96f4d68b2b EFI: check for boot keys
* Only supports spacebar for the boot menu, and escape for
  enabling debug output. Shift keys will not work.
2016-09-02 19:02:34 +12:00
Jessica Hamilton
c0bdc8bef5 bootloader: build objects in $(TARGET_BOOT_PLATFORM)
This separates the objects required for the various boot
loaders, allowing the build system to be able to build
for different targets alongside each other. Currently
only done for bios_ia32 vs efi, as both loaders will be
needed for the x86_64 images.
2016-09-02 19:02:34 +12:00
Jessica Hamilton
c0002a79e7 EFI: Implement heap 2016-09-02 19:02:33 +12:00
Jessica Hamilton
e2e1558a02 EFI: stub functions so we can call loader's main() function. 2016-09-02 19:02:33 +12:00
François Revol
495efc382b loader: Drop the HashMap for partition lookup by id
The HashMap constructor was called before the heap is initialized,
ending up calling malloc from the OpenHashMap constructor.

Oddly it was still working on x86 but broke other platforms.

Instead we add a Lookup() static method to Partition,
which by default walks gPartitions for the id,
and recursively calls itself on the children lists.

This means we must add a partition even temporarily to gPartitions
before Scan()ing it though.

Signed-off-by: François Revol <revol@free.fr>
2016-09-02 19:02:33 +12:00
Fredrik Holmqvist
735f1daee9 EFI: Implement console code. 2016-09-02 19:02:32 +12:00
Fredrik Holmqvist
bd0604764e Setup -fno-pic or -fpic in Architecture Rules.
EFI boot needs -fpic but all boot code was built with -fno-pic.
This is now set accordingly in HAIKU_BOOT_CCFLAGS and
HAIKU_BOOT_C++FLAGS.

Also setup compile flags for EFI platform.
2016-09-02 19:02:32 +12:00
Fredrik Holmqvist
211483cb51 EFI: Initial test EFI application
* Only set HAIKU_BOOT_PLATFORM to bios_ia32 if not defined
* Add gnuefi build feature
* Introduce BOOT_LDFLAGS, and move options for passing to linker
  into ArchitectureSetup
* x86_64 compile fixes for warnings in boot loader
* loader/elf.cpp: don't include ELF32 support when targeting EFI
* relocation_func.cpp: copy of the relocation code from gnuefi
  to make _relocate extern "C", and avoid including <efilib.h>
* boot_loader_efi.ld: copy of gnuefi's elf_x86_64_efi.lds,
  modified to include support for C++ constructors, etc. Keep in
  sync with the gnuefi package

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2016-09-02 19:02:29 +12:00
Fredrik Holmqvist
20e11028aa Don't use partition pointer as id, as it only works on 32bit platforms.
Use a counter to generate the partition id, and store the id to partition
lookup in a hashmap instead.
2016-04-14 19:18:21 +12:00
Jessica Hamilton
ddef999990 Add gnuefi package for x86_64. hrev50228 2016-04-14 13:39:43 +12:00
Rene Gollent
0a1838cb44 Debugger: Implement Create/Attach on LocalTargetHostInterface.
LocalTargetHostInterface:
- Implement the create and attach functionality. In theory, this completes
  everything that's needed in order to adjust the main application to do
  all debugger interface creation via the roster.
hrev50227
2016-04-13 20:10:19 -04:00
Rene Gollent
7dde731f40 Debugger: Add missing roster method implementations.
TargetHostInterfaceRoster:
- Implement counting/retrieving interfaces, as well as requesting the
  creation of a new instance.
2016-04-13 20:10:17 -04:00
John Scipione
fbf9ac1ce4 ScreenSaver: Center window on screen hrev50226 2016-04-13 15:50:30 -07:00
John Scipione
a60b9ee3ac Screensaver: Set explicit min width for fSettingsView
Also make some new const variables to make some math more opaque
i.e. don't use as many magic constants.

This works great at 12pt font size, decenly at all other sizes. There is a
bit of jitter at 13pt and 24pt for some reason when moving from a default
settings view to another settings view.
2016-04-13 15:50:30 -07:00
John Scipione
4f0eceacb4 Screensaver: Move Puck up alphabetically 2016-04-13 15:50:30 -07:00
John Scipione
53dc6af917 Screensaver: Blackness not Darkness 2016-04-13 15:50:30 -07:00
John Scipione
e9208b6876 ScreenSaver: Rename BuildScreenSaverDefaultSettingsView
...to just DefaultSettingsView

It is just as obvious what it does in context, but shorter.

Rename the function it contains from
BuildDefaultScreenSaverSettingsView to
BuildDefaultSettingsView
2016-04-13 15:50:30 -07:00
John Scipione
3801c37b90 Screensaver: Update Default Settings View to use Layout
and standard insets so that they match other screen savers
2016-04-13 15:50:30 -07:00
John Scipione
63d59e1081 Nebula: Use default insets
Simplify layout
2016-04-13 15:50:11 -07:00
John Scipione
523f450de0 Nebula: Pass view Bounds() instead of Frame() into SettingsView
This was why the view was not where it should be.
2016-04-13 15:41:40 -07:00
John Scipione
e5147b1d89 Nebula: Set View color in constructor
We don't need to wait for AttachedToWindow for view color
unlike high and low color.
2016-04-13 15:40:23 -07:00
John Scipione
a6ab3387c7 Nebula: Style fixes
80 char limit
add/update some pragmas
2016-04-13 15:40:22 -07:00
John Scipione
ebfc2fc68e Gravity: Use LayoutBuilder directly on view 2016-04-13 14:22:47 -07:00
John Scipione
263e936e87 Gravity: Fixup scroll bar range 2016-04-13 14:13:23 -07:00
John Scipione
3456c51030 Gravity: remove extra spaces 2016-04-13 14:13:23 -07:00
Jérôme Duval
319b17f5cc Update glew packages for x86. hrev50225 2016-04-13 21:14:35 +02:00
Humdinger
7c265be0d4 Updated Filer package
The link to Filer in $binDir pointed into the abyss...
hrev50224
2016-04-13 19:19:35 +02:00
Jérôme Duval
22e9780d40 Add graphite2 and harfbuzz packages for x86.
* Update glib2 and cmake packages for x86.
hrev50223
2016-04-13 19:12:06 +02:00
Jérôme Duval
0ca0c372c5 Updated gcc packages for x86_64. hrev50222 2016-04-13 18:56:07 +02:00
John Scipione
a80db836bf Appearance: Backport changes from Gravity back to Appearance
Make the square a rectangle with Golden Ratio
Use Set*UIColor() instead of Set*Color(ui_color())
Use B_CONTROL_BORDER_COLOR instead of hardcoding
Sort out copyright -- Haiku, Inc. didn't exist before 2003
Use variable width spacing based on font size from ControlLook
Removed unnecessary #includes

Did a little pixel pushing to make sure that everything is spaced
nicely and to ensure everything lies on integer pixel boundries.
hrev50221
2016-04-12 20:54:43 -07:00
John Scipione
d1d1535a73 Gravity: Use Set*UIColor() instead of Set*Color(ui_color())
Thanks jessicah!
hrev50220
2016-04-12 20:14:29 -07:00
John Scipione
ad5c346a3f Gravity: Remove copy pasta in copyright hrev50219 2016-04-12 20:07:22 -07:00
John Scipione
cd91a71562 Gravity: update copyright
This was meant to go in the last commit
hrev50218
2016-04-12 19:36:36 -07:00
John Scipione
4b83455774 Gravity: Add ColorItem and RainbowItem
instead of using boring StringItems

ColorItem draws a small colored rectangle left of the string
RainbowItem draws a rainbow colored rectangle left of the string
hrev50217
2016-04-12 19:31:00 -07:00
John Scipione
89972206d8 Gravity: spaces => tabs in Jamfile 2016-04-12 19:17:10 -07:00
Dario Casalinuovo
598880fc30 MixerCore: Remove wrong flag hrev50216 2016-04-12 02:54:36 +02:00
Dario Casalinuovo
b0dd37b7a0 AudioMixer: Review and rework synchronization
* The event time is managed through the main node control
loop.
* Make the mix thread to activate only when needed.
* Make the locking more simple and remove a race condition,
this will make the thread to be more silent too.
hrev50215
2016-04-12 02:33:48 +02:00
Dario Casalinuovo
ec2c5619c1 AVFormatWriter: Add more error checking
* Check before to write chunks if the header was correctly
written, the same happens for track infos, even if the code
doesn't support it.
2016-04-12 02:26:15 +02:00