mirror of
https://github.com/raspberrypi/userland.git
synced 2025-12-06 04:49:12 +00:00
MMAL and vcsm fixups for 64bit builds
Fixes various casts to/from integer of a different size, and printf for size_t not using %zu.
This commit is contained in:
committed by
popcornmix
parent
4946eb203f
commit
76c0680083
@@ -906,7 +906,7 @@ unsigned int vcsm_vc_hdl_from_ptr( void *usr_ptr )
|
|||||||
memset( &map, 0, sizeof(map) );
|
memset( &map, 0, sizeof(map) );
|
||||||
|
|
||||||
map.pid = getpid();
|
map.pid = getpid();
|
||||||
map.addr = (unsigned int) usr_ptr;
|
map.addr = (uintptr_t) usr_ptr;
|
||||||
|
|
||||||
rc = ioctl( vcsm_handle,
|
rc = ioctl( vcsm_handle,
|
||||||
VMCS_SM_IOCTL_MAP_VC_HDL_FR_ADDR,
|
VMCS_SM_IOCTL_MAP_VC_HDL_FR_ADDR,
|
||||||
@@ -1163,7 +1163,7 @@ void *vcsm_usr_address( unsigned int handle )
|
|||||||
map.handle,
|
map.handle,
|
||||||
map.addr );
|
map.addr );
|
||||||
|
|
||||||
return (void*)map.addr;
|
return (void*)(uintptr_t)map.addr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1211,7 +1211,7 @@ unsigned int vcsm_usr_handle( void *usr_ptr )
|
|||||||
memset( &map, 0, sizeof(map) );
|
memset( &map, 0, sizeof(map) );
|
||||||
|
|
||||||
map.pid = getpid();
|
map.pid = getpid();
|
||||||
map.addr = (unsigned int) usr_ptr;
|
map.addr = (uintptr_t) usr_ptr;
|
||||||
|
|
||||||
rc = ioctl( vcsm_handle,
|
rc = ioctl( vcsm_handle,
|
||||||
VMCS_SM_IOCTL_MAP_USR_HDL,
|
VMCS_SM_IOCTL_MAP_USR_HDL,
|
||||||
@@ -1360,14 +1360,14 @@ void *vcsm_lock( unsigned int handle )
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
usr_ptr = (void *) lock_unlock.addr;
|
usr_ptr = (void *) (uintptr_t)lock_unlock.addr;
|
||||||
|
|
||||||
/* If applicable, invalidate the cache now.
|
/* If applicable, invalidate the cache now.
|
||||||
*/
|
*/
|
||||||
if ( usr_ptr && sz.size )
|
if ( usr_ptr && sz.size )
|
||||||
{
|
{
|
||||||
cache.handle = sz.handle;
|
cache.handle = sz.handle;
|
||||||
cache.addr = (unsigned int) usr_ptr;
|
cache.addr = (uintptr_t) usr_ptr;
|
||||||
cache.size = sz.size;
|
cache.size = sz.size;
|
||||||
|
|
||||||
rc = ioctl( vcsm_handle,
|
rc = ioctl( vcsm_handle,
|
||||||
@@ -1527,7 +1527,7 @@ void *vcsm_lock_cache( unsigned int handle,
|
|||||||
*/
|
*/
|
||||||
if ( chk.addr && chk.size )
|
if ( chk.addr && chk.size )
|
||||||
{
|
{
|
||||||
munmap( (void *)chk.addr, chk.size );
|
munmap( (void *)(uintptr_t)chk.addr, chk.size );
|
||||||
|
|
||||||
vcos_log_trace( "[%s]: [%d]: ioctl unmap hdl: %x",
|
vcos_log_trace( "[%s]: [%d]: ioctl unmap hdl: %x",
|
||||||
__func__,
|
__func__,
|
||||||
@@ -1608,7 +1608,7 @@ void *vcsm_lock_cache( unsigned int handle,
|
|||||||
if ( usr_ptr && cache.size )
|
if ( usr_ptr && cache.size )
|
||||||
{
|
{
|
||||||
cache.handle = chk.handle;
|
cache.handle = chk.handle;
|
||||||
cache.addr = (unsigned int) usr_ptr;
|
cache.addr = (uintptr_t) usr_ptr;
|
||||||
|
|
||||||
rc = ioctl( vcsm_handle,
|
rc = ioctl( vcsm_handle,
|
||||||
VMCS_SM_IOCTL_MEM_INVALID,
|
VMCS_SM_IOCTL_MEM_INVALID,
|
||||||
@@ -1728,7 +1728,7 @@ int vcsm_unlock_ptr_sp( void *usr_ptr, int cache_no_flush )
|
|||||||
/* Retrieve the handle of the memory we want to unlock.
|
/* Retrieve the handle of the memory we want to unlock.
|
||||||
*/
|
*/
|
||||||
map.pid = getpid();
|
map.pid = getpid();
|
||||||
map.addr = (unsigned int) usr_ptr;
|
map.addr = (uintptr_t) usr_ptr;
|
||||||
|
|
||||||
rc = ioctl( vcsm_handle,
|
rc = ioctl( vcsm_handle,
|
||||||
VMCS_SM_IOCTL_MAP_USR_HDL,
|
VMCS_SM_IOCTL_MAP_USR_HDL,
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ static void *test_mmal_camcorder(void *id)
|
|||||||
value = test_mmal_start_camcorder(&stop, behaviour);
|
value = test_mmal_start_camcorder(&stop, behaviour);
|
||||||
|
|
||||||
LOG_TRACE("Thread terminating, result %d", value);
|
LOG_TRACE("Thread terminating, result %d", value);
|
||||||
return (void *)value;
|
return (void *)(uintptr_t)value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ static MMAL_BOOL_T spdif_do_processing(MMAL_COMPONENT_T *component)
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_DEBUG("frame: %lld, size %i", in->pts, in->length);
|
LOG_DEBUG("frame: %" PRId64 ", size %i", in->pts, in->length);
|
||||||
mmal_buffer_header_mem_lock(out);
|
mmal_buffer_header_mem_lock(out);
|
||||||
mmal_buffer_header_mem_lock(in);
|
mmal_buffer_header_mem_lock(in);
|
||||||
in_data = in->data + in->offset;
|
in_data = in->data + in->offset;
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ static MMAL_STATUS_T mmal_port_clock_process_buffer(MMAL_PORT_T *port, MMAL_BUFF
|
|||||||
|
|
||||||
if (buffer->length != sizeof(MMAL_CLOCK_EVENT_T))
|
if (buffer->length != sizeof(MMAL_CLOCK_EVENT_T))
|
||||||
{
|
{
|
||||||
LOG_ERROR("invalid buffer length %d expected %d",
|
LOG_ERROR("invalid buffer length %d expected %zu",
|
||||||
buffer->length, sizeof(MMAL_CLOCK_EVENT_T));
|
buffer->length, sizeof(MMAL_CLOCK_EVENT_T));
|
||||||
return MMAL_EINVAL;
|
return MMAL_EINVAL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1145,7 +1145,7 @@ static MMAL_STATUS_T mmal_vc_port_parameter_set(MMAL_PORT_T *port, const MMAL_PA
|
|||||||
|
|
||||||
if(param->size > MMAL_WORKER_PORT_PARAMETER_SET_MAX)
|
if(param->size > MMAL_WORKER_PORT_PARAMETER_SET_MAX)
|
||||||
{
|
{
|
||||||
LOG_ERROR("parameter too large (%u > %u)", param->size, MMAL_WORKER_PORT_PARAMETER_SET_MAX);
|
LOG_ERROR("parameter too large (%u > %zu)", param->size, MMAL_WORKER_PORT_PARAMETER_SET_MAX);
|
||||||
return MMAL_ENOSPC;
|
return MMAL_ENOSPC;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1204,7 +1204,7 @@ static MMAL_STATUS_T mmal_vc_port_parameter_get(MMAL_PORT_T *port, MMAL_PARAMETE
|
|||||||
|
|
||||||
if(param->size > MMAL_WORKER_PORT_PARAMETER_GET_MAX)
|
if(param->size > MMAL_WORKER_PORT_PARAMETER_GET_MAX)
|
||||||
{
|
{
|
||||||
LOG_ERROR("parameter too large (%u > %u) id %u", param->size,
|
LOG_ERROR("parameter too large (%u > %zu) id %u", param->size,
|
||||||
MMAL_WORKER_PORT_PARAMETER_GET_MAX, param->id);
|
MMAL_WORKER_PORT_PARAMETER_GET_MAX, param->id);
|
||||||
return MMAL_ENOMEM;
|
return MMAL_ENOMEM;
|
||||||
}
|
}
|
||||||
@@ -1275,7 +1275,7 @@ static uint8_t *mmal_vc_port_payload_alloc(MMAL_PORT_T *port, uint32_t payload_s
|
|||||||
{
|
{
|
||||||
MMAL_OPAQUE_IMAGE_HANDLE_T h = mmal_vc_opaque_alloc_desc(port->name);
|
MMAL_OPAQUE_IMAGE_HANDLE_T h = mmal_vc_opaque_alloc_desc(port->name);
|
||||||
can_deref = MMAL_FALSE;
|
can_deref = MMAL_FALSE;
|
||||||
ret = (void*)h;
|
ret = (void*)(uintptr_t)h;
|
||||||
if (!ret)
|
if (!ret)
|
||||||
{
|
{
|
||||||
LOG_ERROR("%s: failed to allocate %d bytes opaque memory",
|
LOG_ERROR("%s: failed to allocate %d bytes opaque memory",
|
||||||
@@ -1324,7 +1324,7 @@ static void mmal_vc_port_payload_free(MMAL_PORT_T *port, uint8_t *payload)
|
|||||||
if (module->opaque_allocs)
|
if (module->opaque_allocs)
|
||||||
{
|
{
|
||||||
module->opaque_allocs--;
|
module->opaque_allocs--;
|
||||||
mmal_vc_opaque_release((MMAL_OPAQUE_IMAGE_HANDLE_T)payload);
|
mmal_vc_opaque_release((MMAL_OPAQUE_IMAGE_HANDLE_T)(uintptr_t)payload);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -854,7 +854,7 @@ MMAL_STATUS_T mmal_vc_send_message(MMAL_CLIENT_T *client,
|
|||||||
VCHIQ_ELEMENT_T elems[] = {{msg_header, size}};
|
VCHIQ_ELEMENT_T elems[] = {{msg_header, size}};
|
||||||
MMAL_BOOL_T using_bulk_transfer = (data_size != 0);
|
MMAL_BOOL_T using_bulk_transfer = (data_size != 0);
|
||||||
|
|
||||||
LOG_TRACE("len %d", data_size);
|
LOG_TRACE("len %zu", data_size);
|
||||||
vcos_assert(size >= sizeof(mmal_worker_msg_header));
|
vcos_assert(size >= sizeof(mmal_worker_msg_header));
|
||||||
|
|
||||||
if (!client->inited)
|
if (!client->inited)
|
||||||
@@ -882,7 +882,7 @@ MMAL_STATUS_T mmal_vc_send_message(MMAL_CLIENT_T *client,
|
|||||||
|
|
||||||
if (using_bulk_transfer)
|
if (using_bulk_transfer)
|
||||||
{
|
{
|
||||||
LOG_TRACE("bulk transmit: %p, %i", data, data_size);
|
LOG_TRACE("bulk transmit: %p, %zu", data, data_size);
|
||||||
|
|
||||||
data_size = (data_size + 3) & ~3;
|
data_size = (data_size + 3) & ~3;
|
||||||
vst = vchiq_queue_bulk_transmit(client->service, data, data_size, msg_header);
|
vst = vchiq_queue_bulk_transmit(client->service, data, data_size, msg_header);
|
||||||
|
|||||||
@@ -379,13 +379,13 @@ static int do_eventlog(int argc, const char **argv)
|
|||||||
}
|
}
|
||||||
if (log.size != sizeof(log))
|
if (log.size != sizeof(log))
|
||||||
{
|
{
|
||||||
fprintf(stderr,"MMAL Log size mismatch (got %d, expected %d)\n",
|
fprintf(stderr,"MMAL Log size mismatch (got %d, expected %zu)\n",
|
||||||
log.size, sizeof(log));
|
log.size, sizeof(log));
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
if (log.elemsize != sizeof(MMAL_DBG_ENTRY_T))
|
if (log.elemsize != sizeof(MMAL_DBG_ENTRY_T))
|
||||||
{
|
{
|
||||||
fprintf(stderr,"MMAL log element size mismatch (got %d, expected %d)\n",
|
fprintf(stderr,"MMAL log element size mismatch (got %d, expected %zu)\n",
|
||||||
log.elemsize, sizeof(MMAL_DBG_ENTRY_T));
|
log.elemsize, sizeof(MMAL_DBG_ENTRY_T));
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -218,8 +218,8 @@ uint8_t *mmal_vc_shm_alloc(uint32_t size)
|
|||||||
vcsm_unlock_hdl(vcsm_handle);
|
vcsm_unlock_hdl(vcsm_handle);
|
||||||
|
|
||||||
payload_elem->mem = mem;
|
payload_elem->mem = mem;
|
||||||
payload_elem->handle = (void *)vcsm_handle;
|
payload_elem->handle = (void *)(intptr_t)vcsm_handle;
|
||||||
payload_elem->vc_handle = (void *)vc_handle;
|
payload_elem->vc_handle = (void *)(intptr_t)vc_handle;
|
||||||
#else /* ENABLE_MMAL_VCSM */
|
#else /* ENABLE_MMAL_VCSM */
|
||||||
MMAL_PARAM_UNUSED(size);
|
MMAL_PARAM_UNUSED(size);
|
||||||
mmal_vc_payload_list_release(payload_elem);
|
mmal_vc_payload_list_release(payload_elem);
|
||||||
@@ -235,7 +235,7 @@ MMAL_STATUS_T mmal_vc_shm_free(uint8_t *mem)
|
|||||||
if (payload_elem)
|
if (payload_elem)
|
||||||
{
|
{
|
||||||
#ifdef ENABLE_MMAL_VCSM
|
#ifdef ENABLE_MMAL_VCSM
|
||||||
vcsm_free((unsigned int)payload_elem->handle);
|
vcsm_free((uintptr_t)payload_elem->handle);
|
||||||
#endif /* ENABLE_MMAL_VCSM */
|
#endif /* ENABLE_MMAL_VCSM */
|
||||||
mmal_vc_payload_list_release(payload_elem);
|
mmal_vc_payload_list_release(payload_elem);
|
||||||
return MMAL_SUCCESS;
|
return MMAL_SUCCESS;
|
||||||
@@ -254,7 +254,7 @@ uint8_t *mmal_vc_shm_lock(uint8_t *mem, uint32_t workaround)
|
|||||||
if (elem) {
|
if (elem) {
|
||||||
mem = elem->mem;
|
mem = elem->mem;
|
||||||
#ifdef ENABLE_MMAL_VCSM
|
#ifdef ENABLE_MMAL_VCSM
|
||||||
void *p = vcsm_lock((unsigned int)elem->handle);
|
void *p = vcsm_lock((uintptr_t)elem->handle);
|
||||||
if (!p)
|
if (!p)
|
||||||
assert(0);
|
assert(0);
|
||||||
#endif /* ENABLE_MMAL_VCSM */
|
#endif /* ENABLE_MMAL_VCSM */
|
||||||
|
|||||||
Reference in New Issue
Block a user