Commit Graph

42663 Commits

Author SHA1 Message Date
Alex Smith
c9f6d2271f x86_64: Implemented exception handling. 2012-06-27 15:18:10 +01:00
Alex Smith
014f4403ee Use unsigned long, not uint32, for the 'l' qualifier in printf() - long is 64-bit on x86_64. 2012-06-27 15:11:06 +01:00
Alex Smith
45e0e08aed Made panic() safe to use before the current thread has been set. 2012-06-27 15:07:45 +01:00
Alex Smith
575a67c7a1 Merge branch 'master' into x86_64 2012-06-27 11:28:28 +01:00
Alex Smith
3403f23e81 Moved the common parts of arch_cpu.h between x86 and x86_64 to arch/common_x86/cpu.h. 2012-06-27 11:23:54 +01:00
Alex Smith
3f017e9061 Also need to fix the kernel_args_range addresses. 2012-06-27 10:33:31 +01:00
Jérôme Duval
342e3b2c1b Updated optional package for Freetype ppc.
* Fix the PPC build.
2012-06-27 00:07:10 +02:00
Axel Dörfler
ff09c7bfdf Now is transparent on the desktop as other replicants. 2012-06-26 23:48:01 +02:00
Alex Smith
b8a9a3a160 Copied the x86 debug console functions to x86_64.
Note that this is only temporary so that I have serial output from the kernel,
the x86 and x86_64 versions will be merged later.
2012-06-26 11:42:28 +01:00
Alex Smith
991e5bee90 Pass correct kernel_args address to the kernel. 2012-06-26 11:27:00 +01:00
Alex Smith
e5fc2bfcab Implemented long mode setup/switch code, the bootloader can now start the 64-bit kernel!
The setup procedure is fairly simple: create a 64-bit GDT and 64-bit page
tables that include all kernel mappings from the 32-bit address space, but at
the correct 64-bit address, then go through kernel_args and changes all virtual
addresses to 64-bit addresses, and finally switch to long mode and jump to the
kernel.
2012-06-26 11:08:21 +01:00
Alex Smith
a820f12943 Style fixes to elf.cpp. 2012-06-26 10:59:03 +01:00
Alex Smith
5a17b2f1b2 Forgot to change driver_settings_file to use FixedWidthPointer. 2012-06-26 10:54:37 +01:00
Philippe Saint-Pierre
b78760b964 Replace several hard-coded paths with find_directory calls 2012-06-25 21:09:55 -04:00
Rene Gollent
d6f3ff4030 Another build fix.
Incorrect URLs for SSL optional packages.
2012-06-25 19:31:40 -04:00
Rene Gollent
040969ac13 Merge branch 'master' of ssh://git.haiku-os.org/haiku 2012-06-25 18:39:18 -04:00
Rene Gollent
234eed6b0d Fix build.
gcc2 freetype package's name was wrong, and the uploaded package was in the wrong subdir.
2012-06-25 18:38:25 -04:00
Philippe Saint-Pierre
b271ff3f4e SoundRecorder: UI fixes
* Remove several hard-coded colors
* Reduce slightly the font size in the file info panel (#6909).
* Don't hardcode the font height, compute it
* Fix a bug where deploying the bottom panel makes the current
  window width the new minimum width
* Don't hardcode the bottom panel's height, compute it
  (allows better font size tolerance).
2012-06-25 18:35:28 -04:00
Scott McCreary
14fc8a0138 Corrected build dates for gcc2 builds of sdl-sound and sdl-net 2012-06-25 21:12:37 +00:00
Scott McCreary
a420070ece Updated gcc2 packages for sdl and related libraries. 2012-06-25 21:12:30 +00:00
Scott McCreary
1ed63ff99d Updated filename for taglib 2012-06-25 21:12:23 +00:00
Scott McCreary
4daad1e105 Fixed url dates for gcc4 packages for bzr and cvs.
Updated taglib gcc4 package name to match typo from alpha3 release.
2012-06-25 21:12:17 +00:00
Scott McCreary
6ccbb9012f Fixed urls for a few gcc2 OptionalPacakges.
Changing talib back to 1.6.3 as 1.7.2 is failing to build with gcc4.
2012-06-25 21:12:10 +00:00
Scott McCreary
893996e358 Updated gcc2 packages for p7zip, mercurial, expat, cvs,
curl, bzr, apr, and apr-util
2012-06-25 21:12:03 +00:00
Scott McCreary
cc41587c17 Updated optionalpackages for apr, apr-util, curl,subversion, git, mercurial, openssh, sqlite,
cdrtools, man, p7zip, tar, libxml2, and yasm.
2012-06-25 21:11:56 +00:00
Scott McCreary
d1556a0e0f Updated optional packages for curl, freetype, libxml2, mercurial,
openssl, p7zip, sqlite and tar.
2012-06-25 21:11:49 +00:00
Philippe Saint-Pierre
c4e5472a71 FFMPEG: Remove unnecessary #include statements
They were included because of earlier tests.
Thanks Korli for the heads-up! (and sorry for the noise..)
2012-06-25 13:52:31 -04:00
Philippe Saint-Pierre
36784bbc2c StringForRate(): adjustments
* Make 1000.0f the default base
* Also use sizeof() in MediaPlayer to get the string size rather than hardcode.

Thanks Marcus
2012-06-25 13:43:53 -04:00
Philippe Saint-Pierre
8d87f2b43a StringForRate()
Introduce a function to generate the string representation of a bitrate
(kbps, mbps, gbps, etc..)

* Factor out the code from MediaPlayer InfoWindow
* Allow different bases (/1000 or /1024)
2012-06-25 13:29:22 -04:00
Philippe Saint-Pierre
9741d697e8 FFMPEG Copyright(): Fix memory leak
Fix a memory leak I introduced.  Followed Stippi's suggestion. Thanks!
2012-06-25 11:05:01 -04:00
Alex Smith
f69dd487b1 Fixed x86 GCC2 build. 2012-06-25 13:28:28 +01:00
Alex Smith
6f6d78e877 Cleaned up ELF64 address handling.
* platform_allocate_elf_region() is removed, it is implemented in platform-
  independent code now (ELF*Class::AllocateRegion). For ELF64 it is now
  assumed that 64-bit addresses are mapped in the loader's 32-bit address space
  as (address - KERNEL_BASE_64BIT + KERNEL_BASE).
* mapped_delta field from preloaded_*_image removed, now handled compile-time
  using the ELF*Class::Map method.
* Also link the kernel with -z max-page-size=0x1000, removes the need for
  2MB alignment on the data segment (not going to map the kernel with large
  pages for the time being).
2012-06-25 13:00:50 +01:00
Philippe Saint-Pierre
c589e68f42 MediaPlayer InfoWindow: Add Bitrate info, fix duration display
* The duration minutes didn't include a leading zero when necessary
* Added Bitrate info (#7782)
2012-06-24 20:49:34 -04:00
Philippe Saint-Pierre
4dea247cee ffmpeg: implement Copyright() (resolves TODO) + typo fix 2012-06-24 20:47:39 -04:00
Alex Smith
8846189866 Handle 64-bit load addresses for ELF64 images in the bootloader.
The ELF loader now uses a new platform function, platform_allocate_elf_region,
which returns 2 addresses: the real load address and an address where the
region is mapped in the loader's address space. All of the ELF loading code
has been changed to access the load region through the mapped address rather
than the addresses contained in the ELF image. The ELF64 version of
platform_allocate_elf_region on x86 uses the existing MMU code, which maps
everything at 0x80000000, but returns the correct 64-bit address. The long
mode switch code will just set up the 64-bit address space with everything
remapped at the correct address.
2012-06-24 22:57:48 +01:00
Ryan Leavengood
2804cb332f Fix off-by-one error which caused scrolling artifacts.
Based on printf debugging the correct left value is actually -1, not 0, but
instead of hard-coding numbers it makes more sense to use the existing value.
I'm not sure if a -1 left value makes much sense, but overall this seems to
work and does not have the scrolling artifacts.

But overall I think ShowImage needs more layout management. Doing all this
moving and resizing manually is error prone.

Fixes #8648.
2012-06-24 16:47:18 -04:00
Humdinger
43ae772868 Style-fix I missed before. Thanks aldeck. 2012-06-24 21:01:17 +02:00
Humdinger
67eb2a041e Reverting hrev44253. Didn't fix the issue, see #8648. 2012-06-24 20:58:18 +02:00
Alex Smith
f6a3444449 Added x86_64 ELF64 relocation functions for the bootloader. All that's left to do now is handle the 64-bit load address properly. 2012-06-24 19:22:33 +01:00
Humdinger
537a273cce Coding style changes, no functional change.
Hope all's OK, Filter.h is still mostly untouched as it's quite messy with
many exessive commenting.
2012-06-24 19:51:21 +02:00
Alex Smith
c2656eb9bd Improved elf_load_image() a bit.
After enabling BOOT_SUPPORT_ELF64 on x86 the x86 kernel could no longer be
booted because too many kernel_args allocations were taking place and filling
kernel_args_ranges. This was because for each image load it would check if
the image is ELF64, fail and fall back to ELF32 (each ELF64 check allocated
a preloaded_image). Changed elf_load_image() so that it only tries both when
loading the kernel image, and then for modules it will only try the same ELF
class as the kernel image.
2012-06-24 17:58:22 +01:00
Alex Smith
035825cdfc Align the start of the kernel .data to a 2MB boundary, prevents ld from merging the text and data PHDRs. 2012-06-24 17:19:48 +01:00
Ryan Leavengood
9f5864ab09 Handle the scroll wheel changing over scrollbars.
* Extract the scrollbar change based on the mouse wheel delta into a protected
  method of BView.
* Call that method from BScrollBar's MessageReceived.

With this change it is now a bit easier to scroll horizontally around the
system by putting the mouse cursor over a horizontal scrollbar and using the
wheel.

Fixes #8631.
2012-06-24 10:50:42 -04:00
Alex Smith
acda52f5e9 Fixes for other platforms. 2012-06-24 15:48:03 +01:00
Ingo Weinhold
69a8b95491 FixedWidthPointer: Fix ==/!= operators, remove OtherType casts
* FixedWidthPointer:
  - operators ==/!=: Change second operand type from void* to const
    Type*. Also add non-const version to resolve ambiguity warning when
    comparing with non-const pointer.
  - Add Pointer() getter.
  - Remove templatized cast operators. They are nice for casting the
    pointer directly to another pointer type, but result in ambiguity.
* Make preloaded_image::debug_string_table non-const. Avoids clashes of
  the const and non-coast FixedWidthPointer comparison operators. A
  cleaner (but more verbose) solution would be to spezialize
  FixedWidthPointer for const types.
2012-06-24 15:26:00 +01:00
Michael Lotz
bfc18b1ecd Add missing space before opening brace. 2012-06-24 16:17:32 +02:00
Ryan Leavengood
9c7d5593e6 Update DejaVu fonts to version 2.33. 2012-06-24 00:13:53 -04:00
Fredrik Holmqvist
91102c544e Logging calculations was done outside the #def TRACE_VM_PAGE, but never printed.
Now done inside #def as well as this triggered unused variables warnings.
2012-06-23 22:43:24 +02:00
Humdinger
6f55e249df Fixed redrawing bug when coming out of fullscreen mode.
After coming back from fullscreen mode, horizontally scrolling a zoomed
image would draw vertical lines from the right border. Seems like an
off-by-one issue. This fixes it in my tests... hope it's properly done.
2012-06-23 20:53:42 +02:00
Humdinger
ccae01d421 Fixed issue when auto-showing toolbar in fullscreen mode.
If you've zoomed in fullscreen mode and moved the mouse to the top of the
screen, the toolbar didn't appear. You had to scroll up to the top of zoomed
image first. Using the screen coords instead of the view coords fixes this.
2012-06-23 20:16:58 +02:00