Comparison with Celleb Hypervisor

Like the PS3, Toshiba’s Celleb Cell implementation also makes use of a Hypervisor to limit access to system functionality.

Below is a table containing all known Celleb and PS3 HV calls (including undocumented calls). There are many calls with similar names and the same call number that appear to be supported on both architectures. There are also functions in one architecture that correspond to gaps in the other architecture’s HV, indicating functions that may have been left unimplemented. It could be possible that both HVs are derived from the same source (IBM reference implementation?).

No.Celleb HV CallNo.PS3 HV Call
0HV_allocate_memory0lv1_allocate_memory
1lv1_write_htab_entry
2HV_construct_virtual_address_space2lv1_construct_virtual_address_space
3lv1_invalidate_htab_entries
4HV_get_virtual_address_space_id_of_ppe4lv1_get_virtual_address_space_id_of_ppe
5lv1_undocumented_function_5
6HV_query_logical_partition_address_region_info6lv1_query_logical_partition_address_region_info
7HV_select_virtual_address_space7lv1_select_virtual_address_space
8lv1_undocumented_function_8
9HV_pause9lv1_pause
10HV_destruct_virtual_address_space10lv1_destruct_virtual_address_space
11lv1_configure_irq_state_bitmap
12lv1_connect_irq_plug_ext
13HV_release_memory13lv1_release_memory
14HV_get_io_address_translation_fault_info
15HV_put_iopte15lv1_put_iopte (kboot)
16HV_get_iopte
17HV_preload_iopt_cache17lv1_disconnect_irq_plug_ext
18HV_construct_event_receive_port18lv1_construct_event_receive_port
19HV_destruct_event_receive_port19lv1_destruct_event_receive_port
20HV_request_to_connect_event_ports
21HV_connect_event_ports
22HV_destruct_event_send_port
23HV_send_event_externally
24HV_send_event_locally24lv1_send_event_locally
25HV_get_state_of_event_send_port
26HV_detect_pending_interrupts26lv1_detect_pending_interrupts (kboot)
27HV_end_of_interrupt27lv1_end_of_interrupt (kboot)
28HV_construct_and_connect_irq_plug28lv1_connect_irq_plug (kboot)
29HV_destruct_irq_plug29lv1_disconnect_irq_plug (kboot)
30lv1_end_of_interrupt_ext
31lv1_did_update_interrupt_mask
32HV_send_message
33HV_request_to_connect_message_ports
34HV_get_message_port_info
35HV_connect_message_ports
36HV_destruct_message_port
37HV_receive_message
44HV_shutdown_logical_partition44lv1_shutdown_logical_partition (kboot)
45HV_assign_control_signal_notification_port
46HV_get_control_signal
48HV_end_of_control_signal_processing
49HV_request_to_attach_shared_memory
50HV_permit_sharing_memory
51HV_destruct_shared_memory_handle
52HV_get_shared_memory_info
53HV_construct_logical_spe
54HV_destruct_logical_spe54lv1_destruct_logical_spe
55HV_enable_logical_spe_execution
56HV_disable_logical_spe_execution
57lv1_construct_logical_spe
58HV_sense_spe_execution_status
61HV_set_irq_mask_for_spe61lv1_set_spe_interrupt_mask
62lv1_undocumented_function_62
63lv1_undocumented_function_63
64lv1_set_spe_transition_notifier
65lv1_disable_logical_spe
66lv1_clear_spe_interrupt_status
67lv1_get_spe_interrupt_status
68HV_load_range_registers
69HV_get_logical_ppe_id69lv1_get_logical_ppe_id
70HV_set_ppe_l2cache_rmt_entry
71HV_set_ppe_tlb_rmt_entry
72HV_set_spe_tlb_rmt_entry
73HV_set_interrupt_mask73lv1_set_interrupt_mask
74HV_get_logical_partition_id74lv1_get_logical_partition_id
75lv1_undocumented_function_75
77lv1_configure_execution_time_variable
78lv1_get_spe_irq_outlet
79lv1_set_spe_privilege_state_area_1_register
80HV_construct_spe_irq_outlet
81HV_destruct_spe_irq_outlet
82HV_reinitialize_logical_spe
84HV_request_ipspc_service
85HV_permit_use_of_ipspc_service
86HV_execute_ipspc_command
87HV_stop_ipspc_command
88HV_disconnect_ipspc_service
89lv1_undocumented_function_89
90HV_create_repository_node90lv1_create_repository_node
91HV_get_repository_node_value91lv1_get_repository_node_value
92HV_modify_repository_node_value92lv1_modify_repository_node_value
93HV_remove_repository_node93lv1_remove_repository_node
94HV_write_htab_entry
95HV_read_htab_entries95lv1_read_htab_entries
96lv1_set_dabr
97lv1_set_vmx_graphics_mode (kboot)
98lv1_set_thread_switch_control_register (kboot)
99lv1_undocumented_function_99
100HV_assign_io_address_translation_fault_port
101HV_insert_htab_entry
102lv1_undocumented_function_102
103lv1_get_total_execution_time
104HV_cancel_shared_memory
105lv1_undocumented_function_105
106lv1_undocumented_function_106
107lv1_undocumented_function_107
108lv1_undocumented_function_108
109lv1_undocumented_function_109
110lv1_undocumented_function_110
111lv1_undocumented_function_111
112lv1_undocumented_function_112
114lv1_undocumented_function_114
115lv1_undocumented_function_115
116lv1_allocate_io_segment (kboot)
117lv1_release_io_segment (kboot)
118lv1_allocate_ioid (kboot)
119lv1_release_ioid (kboot)
120lv1_construct_io_irq_outlet
121lv1_destruct_io_irq_outlet
122lv1_map_htab
123lv1_unmap_htab
124lv1_undocumented_function_124
125lv1_undocumented_function_125
126lv1_undocumented_function_126
127lv1_get_version_info
134lv1_undocumented_function_134
135lv1_undocumented_function_135
136lv1_undocumented_function_136
137lv1_undocumented_function_137
138lv1_undocumented_function_138
140lv1_construct_lpm
141lv1_destruct_lpm
142lv1_start_lpm
143lv1_stop_lpm
144lv1_copy_lpm_trace_buffer
145lv1_add_lpm_event_bookmark
146lv1_delete_lpm_event_bookmark
147lv1_set_lpm_interrupt_mask
148lv1_get_lpm_interrupt_status
149lv1_set_lpm_general_control
150lv1_set_lpm_interval
151lv1_set_lpm_trigger_control
152lv1_set_lpm_counter_control
153lv1_set_lpm_group_control
154lv1_set_lpm_debug_bus_control
155lv1_set_lpm_counter
156lv1_set_lpm_signal
157lv1_set_lpm_spr_trigger
158lv1_insert_htab_entry
162lv1_read_virtual_uart
163lv1_write_virtual_uart
164lv1_set_virtual_uart_param
165lv1_get_virtual_uart_param
166lv1_configure_virtual_uart_irq
167lv1_undocumented_function_167
168lv1_undocumented_function_168
170lv1_open_device
171lv1_close_device
172lv1_map_device_mmio_region
173lv1_unmap_device_mmio_region
174lv1_allocate_device_dma_region
175lv1_free_device_dma_region
176lv1_map_device_dma_region
177lv1_unmap_device_dma_region
178lv1_read_pci_config (kboot)
179lv1_write_pci_config (kboot)
180lv1_read_pci_io (kboot)
181lv1_write_pci_io (kboot)
185lv1_net_add_multicast_address
186lv1_net_remove_multicast_address
187lv1_net_start_tx_dma
188lv1_net_stop_tx_dma
189lv1_net_start_rx_dma
190lv1_net_stop_rx_dma
191lv1_net_set_interrupt_status_indicator
193lv1_net_set_interrupt_mask
194lv1_net_control
195lv1_undocumented_function_195
196lv1_undocumented_function_196
197lv1_connect_interrupt_event_receive_port
198lv1_disconnect_interrupt_event_receive_port
199lv1_get_spe_all_interrupt_statuses
200lv1_undocumented_function_200
201lv1_undocumented_function_201
202lv1_deconfigure_virtual_uart_irq
203HV_get_status_of_ipspc_service
204HV_set_spe_privileged_state_1_registers
205HV_get_interrupt_status_of_spe
206HV_clear_interrupt_status_of_spe
207lv1_enable_logical_spe
208HV_get_spe_privileged_state_1_registers
209lv1_undocumented_function_209
210lv1_gpu_open
211lv1_gpu_close
212lv1_gpu_device_map (kboot)
213lv1_gpu_device_unmap (kboot)
214lv1_gpu_memory_allocate
216lv1_gpu_memory_free
217lv1_gpu_context_allocate
218lv1_gpu_context_free
221lv1_gpu_context_iomap
222lv1_undocumented_function_222
225lv1_gpu_context_attribute
227lv1_gpu_context_intr
228lv1_gpu_attribute (kboot)
229lv1_undocumented_function_229
231lv1_undocumented_function_231
232lv1_get_rtc
240lv1_set_ppe_periodic_tracer_frequency
241lv1_start_ppe_periodic_tracer
242lv1_stop_ppe_periodic_tracer
243lv1_undocumented_function_243
244lv1_undocumented_function_244
245lv1_storage_read
246lv1_storage_write
247lv1_undocumented_function_247
248lv1_storage_send_device_command
249lv1_storage_get_async_status
250lv1_undocumented_function_250
251lv1_undocumented_function_251
252lv1_undocumented_function_252
253lv1_undocumented_function_253
254lv1_storage_check_async_status
255lv1_panic

 
ps3/hypervisor/comparison_with_celleb_hypervisor.txt · Last modified: 2008/05/15 00:07
 
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki