Commit Graph

6970 Commits

Author SHA1 Message Date
Alex Smith
a5e96a301e Merge branch 'master' into x86_64 2012-08-09 08:24:50 +01:00
Rene Gollent
74e288401d 64-bit fixes. Gets Debugger fully compiling on x86-64. 2012-08-08 19:40:51 -04:00
Philippe Saint-Pierre
d221a261ff Style fix 2012-08-07 18:17:38 -04:00
Hamish Morrison
59b4be8cc1 Move SoundConsumer to libmedia in the BPrivate namespace
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2012-08-07 23:38:37 +02:00
Alex Smith
8a1903353e Implemented user debugging support for x86_64.
Reused x86 arch_user_debugger.cpp, with a few minor changes to make
the code work for both 32 and 64 bit. Something isn't quite working
right, if a breakpoint is hit the kernel will hang. Other than that
everything appears to work correctly.
2012-08-07 20:20:42 +01:00
Ryan Leavengood
e77304562d Actually sort the translator menu used in ShowImage.
There were two problems with the last commit:

* the list needed to be outside of the top-level loop.
* BList was just broken for sorting translation_format pointers.

I fixed this by moving the loop outside and converting the translation_formats
to translator_info, which has the translator_id, since that is needed to create
the menu item, and would otherwise be unavailable outside the loop.

I tried to get this working with BList, but the sorting was completely broken,
and converting to BObjectList made the code much, much better and worked great.
Screw BList and casting, hurray templated BObjectList.

Really fixes #6782.
2012-08-07 00:41:41 -04:00
Alex Smith
c802257bbb Merge branch 'master' into x86_64 2012-08-06 12:34:03 +01:00
Ryan Leavengood
adfe152ee2 Sort the translation formats in AddTranslationItems by name.
This is used by ShowImage and CodyCam to create a list of image formats which a
file can be saved as. Tracker sorts the image MIME types used in the Find
window by name, so this makes these Save As menus match that (minus the icons
which I think are superfluous.)

Fixes #6782.

If the use of BList is no longer recommended, I welcome better suggestions
for sorting which will work in both GCC2 and GCC4. But this works ;)
2012-08-06 02:08:37 -04:00
Alexander von Gluck IV
4e7e3e331d radeon_hd: display port improvements
* Remove non-generic radeon dp_get_lane_count
* Set lane count and link rate at set_display_mode
* Pass entire mode to pll_set vs only pixel clock for DP code
* Add helpers for DP config data to common code
* Obtain more correct link rate
2012-08-05 12:15:35 -05:00
Alex Smith
cc30eec43d System call restart support. 2012-08-05 14:20:37 +01:00
Alex Smith
284d75bd6a Merge branch 'master' into x86_64 2012-08-05 10:33:20 +01:00
Alex Smith
3fed1a15f5 Get app_server working on x86_64.
With this commit, app_server now compiles and runs at boot! Nothing
particularly interesting happens, just the blue background and a mouse
pointer. Remote backends are broken and not compiled in, see #8834.
Note that it won't be possible to build this quite yet, need to get
the FreeType package uploaded.
2012-08-05 08:46:30 +01:00
Alexander von Gluck IV
694eca3bb6 radeon_hd: Add DP link_train_ce
* First attempts at DisplayPort link training
  clock equalization.
* Add DP define to detect equalization state
* Working towards resolving #8626
2012-08-05 00:01:43 -05:00
Alex Smith
25871c6895 Removed Thread::fault_callback, no longer necessary now that vm86 is gone. 2012-08-04 11:02:54 +01:00
Alex Smith
70ee5a7efb Moved x86emu to {src,headers}/libs/. 2012-08-04 10:21:22 +01:00
Alex Smith
54393c0379 Merge branch 'master' into x86_64 2012-08-04 09:59:17 +01:00
Alex Smith
e9e70c0f95 Fixed compilation of remote_disk_server on OS X hosts. 2012-08-03 17:48:02 +01:00
Alex Smith
74bda98cb2 Killed off vm86 code, no longer being used. 2012-08-03 16:49:15 +01:00
John Scipione
593808d96a Return authors name's to DeskCalc headers.
No functional change.

* Surround email addresses in angle brackets.
* Add myself to ExpressionParser.cpp and .h
* Remove myself from ExpressionTextView.cpp and .h
* Alphatetize authors by last name.

Thanks Ingo and Axel.
2012-08-03 11:16:23 -04:00
Alex Smith
a9ee7a5132 Added new BIOS module for calling BIOS interrupts.
This module provides an interface for drivers to use to perform calls
to the BIOS (only really for use by graphics drivers which need to use
the VESA BIOS). It uses the x86emu library from X.org which emulates
a real mode x86 CPU. This is necessary for x86_64 as virtual 8086 mode
no longer exists there.
2012-08-03 15:42:30 +01:00
Alex Smith
d93ed09564 Improved safety for user memory accesses.
* Changed IS_USER_ADDRESS to check an address using USER_BASE and
  USER_SIZE, rather than just !IS_KERNEL_ADDRESS. The old check would
  allow user buffers to point into the physical memory map area.
* Added an unmapped hole at the end of the bottom half of the address
  space which catches buffers that cross into the uncanonical address
  region. This also removes the need to check for uncanonical return
  addresses in the syscall handler, it is no longer possible for the
  return address to be uncanonical under normal circumstances. All
  cases in which the return address might be changed by the kernel
  are still handled via the IRET path.
2012-08-02 09:32:33 +01:00
Alex Smith
9a5503d01c Different uname machine type for x86_64.
* Added B_64_BIT_PC_PLATFORM platform type.
* Return "x86_64" as the machine type for that platform in uname.
2012-08-01 11:13:14 +01:00
Alex Smith
e6b3188fcb Merge branch 'master' into x86_64 2012-08-01 10:44:38 +01:00
Alexander von Gluck IV
f8af317470 radeon_hd: Final round of header cleanup
* This puts the registers in a better state and ensures
  all model dependant defines are prefixed with card series
* Consolidate evergreen defines into single header
2012-07-31 12:10:51 -05:00
Alex Smith
d4ec857af3 Merge branch 'master' into x86_64 2012-07-31 12:10:24 +01:00
John Scipione
8ffd0477dd Implement degree mode in DeskCalc.
Default is radian mode,  You set the option in the right click menu
like the other options.

Note: degree mode does not affect hyperbolic trigonometric functions.
This is how Mac Calculator, Windows Calculator, and Google Calculator
work.
2012-07-30 22:35:57 -04:00
Alexander von Gluck IV
93aac98d0a radeon_hd: r5xx to Avivo define cleanup
* Reorganize and clean up card defines
* Fix define spaces
* Unify card naming
* No (real) functional change
2012-07-30 15:57:53 -05:00
Alexander von Gluck IV
8ef0a0d2a6 radeon_hd: Card define cleanup
* Trying to do cleanup on the layout of these headers
2012-07-30 15:57:52 -05:00
Alex Smith
533f3bb494 Support x86_64 in sysinfo.
Just changed all #ifdef __INTEL__ to __INTEL__ || __x86_64__, and
fixed all the printf format strings. The CPU detection code all
works the same.
2012-07-30 21:34:05 +01:00
Alex Smith
9be774b553 Compilation and 64-bit fixes to libbe.so sources.
Fixed the usual issues - printf format strings, uint32 instead of
addr_t, etc. One thing that isn't so nice is several places where
BList is used to store (u)int32, these require a double cast to addr_t
then void* to silence a warning on x86_64.
2012-07-30 21:27:21 +01:00
Alex Smith
ef67788fba Ported ISA bus manager and PS/2 driver. 2012-07-30 14:37:28 +01:00
Alexander von Gluck IV
45dc5c4664 radeon_hd: Add Southen Island gpu temp sensor code
* Add AMD SI defines in si_reg.h
* Prefix SI registers with SI_
* Tab and space cleanup
2012-07-30 09:45:45 -05:00
Alex Smith
c0d28c0199 Implemented signals for x86_64. 2012-07-30 13:52:51 +01:00
Alex Smith
e27109c167 Merge branch 'master' into x86_64 2012-07-30 08:24:31 +01:00
John Scipione
78341a9351 Revert "Fix gcc2 build on Mac OS X Lion"
now that Alex Smith has fixed the build system on Lion this
work-around can now be reverted.

This reverts commit 7c369a4b3f.
2012-07-30 02:10:08 -04:00
Alex Smith
6e2f6d1ace Changed cookie type for get_next_area_info() to ssize_t.
The cookie is used to store the base address of the area that was just
visited. On 64-bit systems, int32 is not sufficient. Therefore, changed
to ssize_t which retains compatibility on x86 while expanding to a
sufficient size on x86_64.
2012-07-29 09:31:14 +01:00
Ryan Leavengood
6a03786cc9 Draw menus using the user chosen colors. 2012-07-28 23:02:17 -04:00
Alex Smith
3fde53501d Updated x86_64 fenv.h and added fenv.c. 2012-07-27 15:21:41 +01:00
Alex Smith
e3ac2588e6 Changed runtime_loader to use elf_* typedefs over Elf32_*.
This means that it will be using ELF64 types on x86_64 rather than
ELF32. The next step for supporting x86_64 is to implement relocations.
2012-07-25 15:05:21 +01:00
Alex Smith
370ab57d49 Initial userland support for x86_64.
Userland switch is implemented, as is basic system call support (using
SYSCALL/SYSRET). The system call handler is not yet complete: it doesn't
handle more than 6 arguments, and does not perform all the necessary kernel
entry/exit work (neither does the interrupt handler). However, this is
sufficient for runtime_loader to start and print some debug output.
2012-07-23 17:12:12 +01:00
Alex Smith
59ae45c1ab Fixed commpage for x86_64.
Since the commpage is at a kernel address, changed 64-bit paging code
to match x86's behaviour of allowing user-accessible mappings to be
created in the kernel portion of the address space. This is also
required by some drivers.
2012-07-21 16:18:10 +01:00
Alex Smith
195a0f350e Changed argument type of fcntl syscall from uint32 to size_t.
Since this argument may be used to pass pointers, uint32 is not
correct for 64-bit. Effectively no change on 32-bit targets, both
size_t and uint32 are unsigned long there.
2012-07-21 14:33:27 +01:00
Alex Smith
5f6b522746 Merge branch 'master' into x86_64 2012-07-21 14:17:22 +01:00
Alex Smith
6497f6b1ec Moved the exception handling functions to arch_int.cpp, shared between x86 and x86_64. 2012-07-21 09:11:09 +01:00
Rene Gollent
902a98ad83 Fix #8753.
- Store whether or not the use of the horizontal scrollbar is desired
  on the class itself. If the CLV was set to use the horizontal scrollbar,
  and then asked to lay itself out while hidden, it would incorrectly assume
  the horizontal scrollbar wasn't in use, and consequently repositioned its
  views such that the horizontal scrollbar and outline view overlapped.
2012-07-20 19:35:21 -04:00
Ingo Weinhold
af350aa218 Add private shared class ArgumentVector
The parser is based on the FS shell's ArgVector.
2012-07-20 23:32:58 +02:00
Alex Smith
82694bd124 Merge branch 'master' into x86_64
Conflicts:
	headers/posix/arch/x86_64/arch_setjmp.h
	src/system/kernel/cache/block_cache.cpp
2012-07-20 18:33:46 +01:00
Alex Smith
1b41387b5f Added missing packed attributes on disk_identifier. 2012-07-20 17:14:17 +01:00
Alex Smith
12bd7812dd Ported PCI module to x86_64.
Uses the x86 architecture code, made fixes to printf formats and a
couple of 64-bit fixes. Only potentially intrusive change is that I've
changed PCI.h to use uint32 rather than ulong. I don't see any way
this would cause any issues, though.
2012-07-20 12:00:20 +01:00
Matt Madia
173f54f147 Updated copyright in headers. No functional change. 2012-07-19 18:14:06 +00:00