| Branch: | Revision:

root / hw / sun4m.c @ 17786d52

History | View | Annotate | Download (56.3 kB)

# Date Author Comment
97bf4851 10/31/2010 11:24 am Blue Swirl

sparc32: convert debug printf statements to tracepoints

Replace debug printf statements with tracepoints.

Signed-off-by: Blue Swirl <>

73d74342 09/11/2010 07:38 pm Blue Swirl

ESP: fix ESP DMA access when DMA is not enabled

Sending ESP a command caused it to trigger DMA immediately
even if DMA was not enabled at the DMA controller.

Add a signal from DMA controller to ESP to tell ESP about changes in
DMA enable bit. Also use the correct function for setting up GPIO outputs....

2446333c 08/24/2010 06:22 pm Blue Swirl

Rearrange block headers

Changing block.h or blockdev.h resulted in recompiling most objects.

Move DriveInfo typedef and BlockInterfaceType enum definitions
to qemu-common.h and rearrange blockdev.h use to decrease churn.

Signed-off-by: Blue Swirl <>

748a4ee3 08/04/2010 12:00 am Blue Swirl

sparc32: use FW_CFG_CMDLINE_SIZE

Add support for getting kernel command line size with

Signed-off-by: Blue Swirl <>

9a62fb24 07/21/2010 12:12 am Bob Breuer

Sparc32: reserve addresses for unimplemented devices on SS-20

Use empty_slot to reserve addresses for several unimplemented devices so they won't fault.
- BPP (parallel port), DBRI (audio), SX (pixel processor), and vsimms (framebuffer)
OBP for SS-20 either assumes these devices exist or probes without expecting faults....

1724f049 07/06/2010 06:36 pm Alex Williamson

qemu_ram_alloc: Add DeviceState and name parameters

These will be used to generate unique id strings for ramblocks. The name
field is required, the device pointer is optional as most callers don't
have a device. When there's no device or the device isn't a child of...

3386376c 05/29/2010 11:20 am Artyom Tarasenko

Pad iommu with an empty slot (necessary for SunOS 4.1.4)

On the real hardware (SS-5, LX) the MMU is not padded, but aliased.
Software shouldn't use aliased addresses, neither should it crash
when it uses (on the real hardware it wouldn't). Using empty_slot...

4556bd8b 05/22/2010 11:00 am Blue Swirl

Compile dma only once

Use a qemu_irq to request CPU exit.

7 compilations less for the full build.

Signed-off-by: Blue Swirl <>

676d9b9b 04/18/2010 11:55 am Artyom Tarasenko

sparc32 use empty_slot for missing RAM v1

use empty_slot device for the RAM which is not installed

Models without ECC don't trap when missing ram is accessed.

v0->v1 compile only once and fix indentation

Signed-off-by: Artyom Tarasenko <>...

409dbce5 03/16/2010 09:38 am Aurelien Jarno

load_elf: replace the address addend by a translation function

A few machines need to translate the ELF header addresses into physical
addresses. Currently the only possibility is to add a value to the

This patch replaces the addend argument by and a translation function...

43a34704 02/07/2010 10:05 am Blue Swirl

m48t59: don't use reserved _t suffix

Signed-off-by: Blue Swirl <>

89835363 01/13/2010 08:52 pm Blue Swirl

Sparc32: remove unused env/envs variables, spotted by clang

Signed-off-by: Blue Swirl <>

6bb4ca57 12/27/2009 08:25 pm Blue Swirl

sparc: make command line available also via firmware configuration device

Signed-off-by: Blue Swirl <>

c5de386a 12/13/2009 03:30 pm Artyom Tarasenko

Sparc32: implement AFX for SS-5

Implement a stub for the AFX register on SparcStation-5.
This stub is needed for running the original SS-5 OBP
instead of OpenBIOS (which allows to boot Solaris 2.5.1
and Solaris 2.6 kernels).

Signed-off-by: Artyom Tarasenko <>...

1cd3af54 11/09/2009 04:43 pm Gerd Hoffmann

scsi: move scsi.h -> esp.h

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

76224833 10/27/2009 07:28 pm Gerd Hoffmann

pcnet: use qdev properties for configuration.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

3c178e72 10/12/2009 05:42 pm Gerd Hoffmann

rom loader: fix sparc -kernel boot.

(1) register pstrcpy_targphys() in rom list, it is used for kernel
command lines by a number of architectures.
(2) add rom_ptr() function to get a pointer for applying changes
to loaded images. Needed for example to tell the linux kernel...

e23a1b33 10/07/2009 04:54 pm Markus Armbruster

New qdev_init_nofail()

Like qdev_init(), but terminate program via hw_error() instead of
returning an error value.

Use it instead of qdev_init() where terminating the program on failure
is okay, either because it's during machine construction, or because...

fd8014e1 10/05/2009 05:32 pm Gerd Hoffmann

floppy: add drive properties.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

c227f099 10/02/2009 12:12 am Anthony Liguori

Revert "Get rid of _t suffix"

In the very least, a change like this requires discussion on the list.

The naming convention is goofy and it causes a massive merge problem. Something
like this must be presented on the list first so people can provide input...

99a0949b 10/01/2009 09:45 pm malc

Get rid of _t suffix

Some not so obvious bits, slirp and Xen were left alone for the time

Signed-off-by: malc <>

ca20cf32 09/20/2009 05:58 pm Blue Swirl

Compile loader only once

Callers must pass ELF machine, byte swapping and symbol LSB clearing
information to ELF loader. A.out loader needs page size information, pass
that too as a parameter.

Extract prototypes to a separate file. Move loader.[ch] and elf_ops.h under hw....

81a322d4 08/28/2009 04:43 am Gerd Hoffmann

qdev: add return value to init() callbacks.

Sorry folks, but it has to be. One more of these invasive qdev patches.

We have a serious design bug in the qdev interface: device init
callbacks can't signal failure because the init() callback has no
return value. This patch fixes it....

462eda24 08/25/2009 09:29 pm Blue Swirl

Sparc32: improve interrupt handling

Level 15 interrupts are broadcast to all CPUs, each CPU can clear the
interrupt using the local Clear Pending register.

Update intbit_to_level table.

Don't try to raise level 0 interrupts.

Calculate pending interrupts based on the separate inputs from master...

d453c2c3 08/23/2009 03:23 pm Blue Swirl

Sparc32: fix monitor commands 'info pic' and 'info irq'

Signed-off-by: Blue Swirl <>

c885159a 08/10/2009 09:11 pm Gerd Hoffmann

qdev/prop: convert sun4m.c to helper macros.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

d9c32310 08/09/2009 11:42 am Blue Swirl

Use qemu_irq for system_powerdown

Signed-off-by: Blue Swirl <>

b2b6f6ec 08/09/2009 10:27 am Blue Swirl

Sparc32: use qemu_irq for system_powerdown

Signed-off-by: Blue Swirl <>

74ff8d90 08/09/2009 12:43 am Blue Swirl

Sparc32: move sparc32_dma init to sun4m.c

Also connect ESP and Lance reset signals to DMA.

Signed-off-by: Blue Swirl <>

d95d8f1c 08/09/2009 12:04 am Blue Swirl

Sparc32: remove VRAM and NVRAM sizes from hwdef

Signed-off-by: Blue Swirl <>

c533e0b3 08/08/2009 11:55 pm Blue Swirl

Sparc32: remove IRQ numbers from hwdef

Signed-off-by: Blue Swirl <>

68556e2e 08/08/2009 11:36 pm Blue Swirl

Sparc32: move intbit_to_level table back to slavio_intctl.c

Signed-off-by: Blue Swirl <>

4b48bf05 08/08/2009 11:24 pm Blue Swirl

Sparc32: move device instantiation to sun4m.c

Signed-off-by: Blue Swirl <>

751c6a17 07/27/2009 10:08 pm Gerd Hoffmann

kill drives_table

First step cleaning up the drives handling. This one does nothing but
removing drives_table[], still it became seriously big.

drive_get_index() is gone and is replaced by drives_get() which hands
out DriveInfo pointers instead of a table index. This needs adaption in...

e32cba29 07/21/2009 10:57 pm Blue Swirl

Sparc32: convert Sun4c interrupt controller to qdev

Signed-off-by: Blue Swirl <>

7fc06735 07/21/2009 10:25 pm Blue Swirl

Sparc32: convert SBI to qdev

Signed-off-by: Blue Swirl <>

04843626 07/21/2009 02:20 pm Blue Swirl

Sparc32/64: use 64 bit type for memory size

Signed-off-by: Blue Swirl <>

daa65491 07/21/2009 11:53 am Blue Swirl

Sparc32: Fix lance

Signed-off-by: Blue Swirl <>

f6e097e7 07/17/2009 02:01 pm Blue Swirl

Fix sparc-softmmu breakage by ee6847d19be16c789b8bd4e553b7cd6701ba1245

Move the qdev_init(dev); call after the setting of d->size.
Thanks to Filip Navara.

Signed-off-by: Blue Swirl <>

ee6847d1 07/17/2009 01:28 am Gerd Hoffmann

qdev: rework device properties.

This patch is a major overhaul of the device properties. The properties
are saved directly in the device state struct now, the linked list of
property values is gone.

Advantages: * We don't have to maintain the list with the property values....

a1961a4b 07/16/2009 05:15 pm Blue Swirl

Sparc32: convert slavio interrupt controller to qdev

Also increase QDEV_MAX_IRQ.

Signed-off-by: Blue Swirl <>

666713c0 07/16/2009 04:48 pm Blue Swirl

Sparc32: refactor CPU init

Signed-off-by: Blue Swirl <>

a350db85 07/16/2009 04:48 pm Blue Swirl

Sparc32: convert memory to qdev

Signed-off-by: Blue Swirl <>

f48f6569 07/16/2009 04:48 pm Blue Swirl

Sparc32: convert boot prom to qdev

Signed-off-by: Blue Swirl <>

fa28ec52 07/16/2009 04:47 pm Blue Swirl

Sparc32: convert cs4231 to qdev

Signed-off-by: Blue Swirl <>

6f6260c7 07/15/2009 11:45 pm Blue Swirl

Sparc32: convert sparc32_dma to qdev

Signed-off-by: Blue Swirl <>

2582cfa0 07/13/2009 07:51 pm Blue Swirl

Sparc32: convert slavio_misc to qdev

Signed-off-by: Blue Swirl <>

325f2747 07/13/2009 07:11 pm Blue Swirl

Sparc32: convert idreg to qdev

Signed-off-by: Blue Swirl <>

a08d4367 06/29/2009 10:18 pm Jan Kiszka

Revert "Introduce reset notifier order"

This reverts commit 8217606e6edb49591b4a6fd5a0d1229cebe470a9 (and
updates later added users of qemu_register_reset), we solved the
problem it originally addressed less invasively.

Signed-off-by: Jan Kiszka <>...

5cea8590 05/30/2009 03:59 am Paul Brook

Use relative path for bios

Look for bios and other support files relative to qemu binary, rather than
a hardcoded prefix.

Signed-off-by: Paul Brook <>

067a3ddc 05/26/2009 04:56 pm Paul Brook

Remove qdev irq sink handling

We have both IRQ sinks and GPIO inputs. These are in principle exactly
the same thing, so remove the former.

Signed-off-by: Paul Brook <>

8217606e 05/22/2009 06:50 pm Jan Kiszka

Introduce reset notifier order

Add the parameter 'order' to qemu_register_reset and sort callbacks on
registration. On system reset, callbacks with lower order will be
invoked before those with higher order. Update all existing users to the
standard order 0....

993fbfdb 05/22/2009 04:54 am Anthony Liguori

Refactor how display drivers are selected

My previous commit, f92f8afebe, broke -vnc (spotted by Glauber Costa). This
is because it's necessary to tell when the no special display parameters have
been passed and default to SDL or VNC appropriately.

This refactors the display selection logic to be less complicated which has...

0c257437 05/22/2009 04:54 am Anthony Liguori

Introduce is_default field for QEMUMachine

f80f9ec changed the order that machines are registered which had the effect of
changing the default machine. This changeset introduces a new is_default field
so that machine types can declare that they are the default for an architecture....

f80f9ec9 05/21/2009 04:47 pm Anthony Liguori

Convert machine registration to use module init functions

This cleans up quite a lot of #ifdefs, extern variables, and other ugliness.

Signed-off-by: Anthony Liguori <>

9d07d757 05/15/2009 12:35 am Paul Brook

PCI network qdev conversion

Signed-off-by: Paul Brook <>

cfb9de9c 05/15/2009 12:35 am Paul Brook

ESP SCSI qdev conversion

Signed-off-by: Paul Brook <>

001faf32 05/13/2009 08:53 pm Blue Swirl

Replace gcc variadic macro extension with C99 version

Signed-off-by: Blue Swirl <>

fbe1b595 05/13/2009 07:56 pm Paul Brook

Remove vga_ram_size

The vga_ram_size argument to machine init functions always has the same
value, and is ignored by many machines (including SPARC32 which has an
obsolete ifdef for VGA_RAM_SIZE).

Remove it and push VGA_RAM_SIZE into vga_int.h.

Signed-off-by: Paul Brook <>

190cd021 04/11/2009 08:33 pm pbrook

Remove redundant ram_require machine properly.

Signed-off-by: Paul Brook <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

dc828ca1 04/10/2009 01:21 am pbrook

Cleanup SPARC/TCX framebuffer allocation.

Signed-off-by: Paul Brook <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

6295e564 03/28/2009 07:28 pm aliguori

Remove nodisk_ok machine feature (Jan Kiszka)

All archs have some kind of firmware to load and can be fine with it
already. So there is not much use in enforcing the presence of a disk.
If the system setup requires one, the user will notice it anyway once...

513f789f 03/08/2009 11:51 am blueswir1

Use firmware configuration instead of NVRAM (initial patch by Aurelien Jarno)

Use firmware configuration device for boot device, kernel, initrd and
kernel command line parameters on PPC, Sparc32 and Sparc64.

Update OpenBIOS images to r479 which supports the change....

376253ec 03/06/2009 01:01 am aliguori

monitor: Rework API (Jan Kiszka)

Refactor the monitor API and prepare it for decoupled terminals:
term_print functions are renamed to monitor_* and all monitor services
gain a new parameter (mon) that will once refer to the monitor instance
the output is supposed to appear on. However, the argument remains...

3023f332 01/16/2009 09:04 pm aliguori

graphical_console_init change (Stefano Stabellini)

Patch 5/7

This patch changes the graphical_console_init function to return an
allocated DisplayState instead of a QEMUConsole.

This patch contains just the graphical_console_init change and few other
modifications mainly in console.c and vl.c....

aeeb69c7 01/14/2009 04:47 pm aurel32

escc: allow one IRQ per serial channel

The Z85C30 on the PowerMAC machines have one interrupt per serial
channel, while the Sparc machines have only one for both. Allow the
emulated device to use one IRQ per channel.

Patch by Laurent Vivier.

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

5a16dc63 01/13/2009 10:08 pm aurel32

sun4c/sun4d: also swap the CharDriverState of escc_init()

Forgotten in r6284

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

0ae18cee 01/13/2009 09:39 pm aliguori

Check NIC model in some NIC init functions (Mark McLoughlin)

Some NIC init functions are only called when that model is
the only valid model. In that case, it makes sense to use
qemu_check_nic_model() from the NIC init function itself.

Signed-off-by: Mark McLoughlin <>...

f5cbc474 01/13/2009 09:08 pm aurel32

ESCC: swap the two CharDriverState arguments

Swap the two CharDriverState arguments so that the first argument
corresponds to the channel A and the second argument to the channel B.

Modify hw/sun4m.c accordingly.

This fixes the order of the serial ports on the PPC machines....

b4ed08e0 01/12/2009 07:38 pm blueswir1

Rename slavio_serial functions to escc, add clock rate and it_shift parameters

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

6ea52595 01/10/2009 04:38 pm blueswir1

Fix segfault

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

fe096129 12/24/2008 10:21 pm blueswir1

Sun4m use 0 for nonexistent devices (Robert Reif)

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

1d6198c3 12/13/2008 11:32 am blueswir1

Remove unnecessary trailing newlines

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

ce802585 11/29/2008 06:42 pm blueswir1

Don't rely on the fact that MAX_FD is 2 (Herve Poussineau)

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

5c6602c5 11/05/2008 09:25 pm blueswir1

Use qemu_ram_alloc

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

1bcee014 11/02/2008 06:51 pm blueswir1

More realistic max_cpus

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

a7227727 11/02/2008 04:44 pm blueswir1

Fix loading of unstripped ELF PROM image

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

6d0c293d 11/02/2008 12:51 pm blueswir1

Halt the CPU using a qemu_irq

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

492c30af 10/31/2008 07:25 pm aliguori

Make DMA bottom-half driven (v2)

The current DMA routines are driven by a call in main_loop_wait() after every

This patch converts the DMA code to be driven by a constantly rescheduled
bottom half. The advantage of using a scheduled bottom half is that we can...

1572a18c 10/28/2008 07:55 pm blueswir1

Sun4c cleanups (Robert Reif)

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

8137cde8 10/27/2008 05:56 pm blueswir1

Move sun4c to its own hwdef (Robert Reif)

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

b2097003 10/07/2008 11:39 pm aliguori

machine struct - specify max_cpus at the per machine level (Jes Sorensen)

Introduce a max_cpus per-machine variable, allowing individual boards
to limit it's number of CPUs. Check requested number of CPUs in setup
code and exit if it exceeds the supported number for the machine....

2bfdab63 10/04/2008 10:22 am blueswir1

Move nographic export to sysemu.h

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

ada24f84 09/29/2008 09:24 pm blueswir1

Fix SS-2 crash

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

c9b1ae2c 09/28/2008 09:55 pm blueswir1

Add to machine structure a flag to use SCSI drives instead of IDE: fixes SS-20

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

fbfcf955 09/18/2008 09:34 pm blueswir1

Add Sparc32 display depth to firmware configuration

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

905fdcb5 09/18/2008 09:33 pm blueswir1

Add common keys to firmware configuration

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

3cce6243 09/18/2008 09:27 pm blueswir1

Key/value based qemu<->guest firmware communication mechanism (Gleb Natapov)

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

363a37d5 08/21/2008 08:58 pm blueswir1

Fix OpenBSD linker warnings

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

f88e4b91 08/12/2008 06:58 pm blueswir1

Allow boot without a drive on Sparc machines (partly extracted from Xen)

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

66de733b 08/12/2008 06:51 pm blueswir1

Use C99 initializers

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

b3c7724c 06/30/2008 07:31 pm pbrook

Move CPU save/load registration to common code.

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

e7fb1406 06/23/2008 08:52 pm blueswir1

Fix some compiler signed/unsigned char warnings

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

81864572 06/20/2008 07:25 pm blueswir1

Add support for boot_set command

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

1a14026e 06/07/2008 11:07 am blueswir1

Allow NWINDOWS selection (CPU feature with model specific defaults)

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

e01f4a1c 05/13/2008 06:44 pm blueswir1

Fix loading of binary ROMs

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

293f78bc 05/12/2008 08:22 pm blueswir1

Remove most uses of phys_ram_base (initial patch by Ian Jackson)

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

77f193da 05/12/2008 07:13 pm blueswir1

Wrap long lines

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

22548760 05/10/2008 01:12 pm blueswir1

Fix compiler warnings

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162

6ef05b95 05/01/2008 09:21 pm blueswir1

Improved large memory support

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162