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:
Dave Stevenson
2019-10-24 17:44:32 +01:00
committed by popcornmix
parent 4946eb203f
commit 76c0680083
8 changed files with 23 additions and 23 deletions

View File

@@ -906,7 +906,7 @@ unsigned int vcsm_vc_hdl_from_ptr( void *usr_ptr )
memset( &map, 0, sizeof(map) );
map.pid = getpid();
map.addr = (unsigned int) usr_ptr;
map.addr = (uintptr_t) usr_ptr;
rc = ioctl( vcsm_handle,
VMCS_SM_IOCTL_MAP_VC_HDL_FR_ADDR,
@@ -1163,7 +1163,7 @@ void *vcsm_usr_address( unsigned int handle )
map.handle,
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) );
map.pid = getpid();
map.addr = (unsigned int) usr_ptr;
map.addr = (uintptr_t) usr_ptr;
rc = ioctl( vcsm_handle,
VMCS_SM_IOCTL_MAP_USR_HDL,
@@ -1360,14 +1360,14 @@ void *vcsm_lock( unsigned int handle )
goto out;
}
usr_ptr = (void *) lock_unlock.addr;
usr_ptr = (void *) (uintptr_t)lock_unlock.addr;
/* If applicable, invalidate the cache now.
*/
if ( usr_ptr && sz.size )
{
cache.handle = sz.handle;
cache.addr = (unsigned int) usr_ptr;
cache.addr = (uintptr_t) usr_ptr;
cache.size = sz.size;
rc = ioctl( vcsm_handle,
@@ -1527,7 +1527,7 @@ void *vcsm_lock_cache( unsigned int handle,
*/
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",
__func__,
@@ -1608,7 +1608,7 @@ void *vcsm_lock_cache( unsigned int handle,
if ( usr_ptr && cache.size )
{
cache.handle = chk.handle;
cache.addr = (unsigned int) usr_ptr;
cache.addr = (uintptr_t) usr_ptr;
rc = ioctl( vcsm_handle,
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.
*/
map.pid = getpid();
map.addr = (unsigned int) usr_ptr;
map.addr = (uintptr_t) usr_ptr;
rc = ioctl( vcsm_handle,
VMCS_SM_IOCTL_MAP_USR_HDL,

View File

@@ -136,7 +136,7 @@ static void *test_mmal_camcorder(void *id)
value = test_mmal_start_camcorder(&stop, behaviour);
LOG_TRACE("Thread terminating, result %d", value);
return (void *)value;
return (void *)(uintptr_t)value;
}
/*****************************************************************************/

View File

@@ -189,7 +189,7 @@ static MMAL_BOOL_T spdif_do_processing(MMAL_COMPONENT_T *component)
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(in);
in_data = in->data + in->offset;

View File

@@ -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))
{
LOG_ERROR("invalid buffer length %d expected %d",
LOG_ERROR("invalid buffer length %d expected %zu",
buffer->length, sizeof(MMAL_CLOCK_EVENT_T));
return MMAL_EINVAL;
}

View File

@@ -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)
{
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;
}
@@ -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)
{
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);
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);
can_deref = MMAL_FALSE;
ret = (void*)h;
ret = (void*)(uintptr_t)h;
if (!ret)
{
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)
{
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;
}

View File

@@ -854,7 +854,7 @@ MMAL_STATUS_T mmal_vc_send_message(MMAL_CLIENT_T *client,
VCHIQ_ELEMENT_T elems[] = {{msg_header, size}};
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));
if (!client->inited)
@@ -882,7 +882,7 @@ MMAL_STATUS_T mmal_vc_send_message(MMAL_CLIENT_T *client,
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;
vst = vchiq_queue_bulk_transmit(client->service, data, data_size, msg_header);

View File

@@ -379,13 +379,13 @@ static int do_eventlog(int argc, const char **argv)
}
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));
goto fail;
}
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));
goto fail;
}

View File

@@ -218,8 +218,8 @@ uint8_t *mmal_vc_shm_alloc(uint32_t size)
vcsm_unlock_hdl(vcsm_handle);
payload_elem->mem = mem;
payload_elem->handle = (void *)vcsm_handle;
payload_elem->vc_handle = (void *)vc_handle;
payload_elem->handle = (void *)(intptr_t)vcsm_handle;
payload_elem->vc_handle = (void *)(intptr_t)vc_handle;
#else /* ENABLE_MMAL_VCSM */
MMAL_PARAM_UNUSED(size);
mmal_vc_payload_list_release(payload_elem);
@@ -235,7 +235,7 @@ MMAL_STATUS_T mmal_vc_shm_free(uint8_t *mem)
if (payload_elem)
{
#ifdef ENABLE_MMAL_VCSM
vcsm_free((unsigned int)payload_elem->handle);
vcsm_free((uintptr_t)payload_elem->handle);
#endif /* ENABLE_MMAL_VCSM */
mmal_vc_payload_list_release(payload_elem);
return MMAL_SUCCESS;
@@ -254,7 +254,7 @@ uint8_t *mmal_vc_shm_lock(uint8_t *mem, uint32_t workaround)
if (elem) {
mem = elem->mem;
#ifdef ENABLE_MMAL_VCSM
void *p = vcsm_lock((unsigned int)elem->handle);
void *p = vcsm_lock((uintptr_t)elem->handle);
if (!p)
assert(0);
#endif /* ENABLE_MMAL_VCSM */